【发布时间】:2017-12-13 19:53:52
【问题描述】:
我希望选择产品类别在新选项卡中打开单个产品。其他产品类别将在同一选项卡中正常打开。
这是我拥有的适用于全球所有产品的代码...
remove_action( 'woocommerce_before_shop_loop_item','woocommerce_template_loop_product_link_open', 10 );
add_action ( 'woocommerce_before_shop_loop_item', 'ami_function_open_new_tab', 10 );
function ami_function_open_new_tab() {
echo '<a target="_blank" href="' . get_the_permalink() . '" class="woocommerce-LoopProduct-link">';
}
这段代码运行良好,但我想让它成为特定于产品类别的代码,所以这就是我想出的......
remove_action ( 'woocommerce_before_shop_loop_item','woocommerce_template_loop_product_link_open', 10 );
add_action ( 'woocommerce_before_shop_loop_item', 'ami_function_open_new_tab', 10 );
function ami_function_open_new_tab() {
if ( has_term( 'stone', 'product_cat' ) ) {
echo '<a target="_blank" href="' . get_the_permalink() . '" class="woocommerce-LoopProduct-link">';
}else if( !has_term( 'stone', 'product_cat' ) ) {
remove_action ( 'woocommerce_before_shop_loop_item', 'ami_function_open_new_tab', 10 );
add_action ( 'woocommerce_before_shop_loop_item','woocommerce_template_loop_product_link_open', 10 );
}
}
除 1 个问题外按预期工作
问题:不属于特定类别的产品页面上列出的第一个产品不会在新标签或现有标签中打开(根本不会打开)。第二,第三,等等都按预期打开。
我在这里错过了什么?
【问题讨论】:
标签: php wordpress woocommerce categories