首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在新标签页中打开某个类别的产品

在新标签页中打开某个类别的产品
EN

Stack Overflow用户
提问于 2017-12-14 03:53:52
回答 1查看 756关注 0票数 0

我希望使一个选定的产品类别打开一个新的标签中的单一产品。其他产品类别将表现为相同选项卡中的正常打开。

这是我的代码,适用于全球所有产品...

代码语言:javascript
复制
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">';
}

这段代码运行完美,但我想让它的产品类别特定,所以这里是我想出来的…

代码语言:javascript
复制
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个问题外,工作正常

问题:不属于特定类别的产品页面上列出的第一个产品无法在新选项卡或现有选项卡中打开(根本无法打开)。第二个、第三个等等都像预期的那样开放。

这里我漏掉了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-14 16:20:47

我怀疑你的remove_action不能采取行动,并且有2个链接在一行。这就是为什么第一个会带来麻烦。其余的可以通过现代浏览器来呈现。所以试试这段代码:

代码语言:javascript
复制
add_action('init',function(){ remove_action( 'woocommerce_before_shop_loop_item', 'woocommerce_template_loop_product_link_open', 10 ); } ,0);
function ami_function_open_new_tab() {
//....
}

或者,您可以使用简单的jQuery完成此操作

代码语言:javascript
复制
add_action('wp_footer',function(){
if ( has_term( 'stone', 'product_cat' ) ) {
echo '<script>

//for existing content
jQuery(".woocommerce-LoopProduct-link").attr("target","_blank");

//for content part which comes from AJAX
jQuery( document ).ajaxComplete(function() {
jQuery(".woocommerce-LoopProduct-link").attr("target","_blank");
});
</script>';
}
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47801133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档