【问题标题】:When changing woocommerce title hook the first item doesn't change更改 woocommerce 标题挂钩时,第一项不会更改
【发布时间】:2018-02-20 19:31:12
【问题描述】:

我有一个我不理解的奇怪行为

我已更改 woocommerce_shop_loop_item_title 挂钩以添加指向产品标题的链接。这是我在functions.php中的代码

// Add HREF TO TITLE
function abChangeProductsTitleHook(){
    remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 );
    add_action('woocommerce_shop_loop_item_title', 'abChangeProductsTitle', 10 );
}
add_action( 'woocommerce_shop_loop_item_title', 'abChangeProductsTitleHook' );
function abChangeProductsTitle() {
    echo '<h2 class="woocommerce-loop-product_title"><a href="'.get_the_permalink().'">' . get_the_title() . '</a></h2>';
}

它适用于除第一个产品之外的所有产品。

我还对另一个钩子进行了类似的更改,以将缩略图更改为背景图像,而且这个在第一个产品上也不起作用。即使我改变产品的顺序,它总是第一个产品。

您在下面看到页面上第一行产品的屏幕截图,并且第一行的显示方式不同

如果有人知道这个问题或能指出我正确的方向,那将非常有帮助。

非常感谢 亚历克斯

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce


    【解决方案1】:

    您删除和添加woocommerce_shop_loop_item_title 的方式是问题所在。试试这个方法。

    remove_action( 'woocommerce_shop_loop_item_title','woocommerce_template_loop_product_title', 10 );
    add_action('woocommerce_shop_loop_item_title', 'abChangeProductsTitle', 10 );
    function abChangeProductsTitle() {
        echo '<h2 class="woocommerce-loop-product_title"><a href="'.get_the_permalink().'">' . get_the_title() . '</a></h2>';
    }
    

    【讨论】:

    • 我希望你明白问题所在:)
    • 我想我知道它是,但现在我可以查一下它确切地知道它:) 谢谢
    • 很高兴我能帮上忙 :)
    【解决方案2】:

    虽然接受的答案有效,但为什么我们必须 remove 标题然后 add 它又回来了?首先我们可以简单地filter它。

    add_filter('the_title', 'your_shop_custom_title', 20, 2);
    
    function your_shop_custom_title($the_title, $id)
    {
    
      if (is_shop() && get_post_type($id) == 'product') : // runs only on the shop page
    
        $the_title = '<a href="' . get_the_permalink() . '">' . $the_title . '</a>';
    
      endif;
    
      return $the_title;
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 2017-02-19
      • 2018-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多