Woocommerce 重新排序单页钩子,描述显示两次

Posted

技术标签:

【中文标题】Woocommerce 重新排序单页钩子,描述显示两次【英文标题】:Woocommerce Reorder single page hooks, description showing twice 【发布时间】:2015-05-01 01:51:05 【问题描述】:

我正在制作一个 woocommerce 主题,但在重新排序单页挂钩时遇到了问题。我希望产品简短描述出现在产品标题下。

我已经能够使用删除/添加操作移动标题下的简短描述,我将其添加到 function.php 文件中

remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 7 );

这是我的内容单一产品文件的样子

<div class="summary entry-summary">

    <?php
        /**
         * woocommerce_single_product_summary hook
         *
         * @hooked woocommerce_template_single_title - 5
         * @hooked woocommerce_template_single_excerpt - 7
         * @hooked woocommerce_template_single_rating - 20
         * @hooked woocommerce_template_single_price - 20
         * @hooked woocommerce_template_single_add_to_cart - 30
         * @hooked woocommerce_template_single_meta - 40
         * @hooked woocommerce_template_single_sharing - 50
         */
        do_action( 'woocommerce_single_product_summary' );
    ?>

现在的问题是描述显示了两次,一次是在新位置(在标题下),另一次是在原始位置(在价格下)

任何帮助将不胜感激!谢谢。

【问题讨论】:

【参考方案1】:

好的,我已经能够直接在 wp-template-hooks.php 文件中更改挂钩位置。

* Product Summary Box
*
* @see woocommerce_template_single_title()
* @see woocommerce_template_single_price()
* @see woocommerce_template_single_excerpt()
* @see woocommerce_template_single_meta()
* @see woocommerce_template_single_sharing()
*/
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 7 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );

我现在的问题是为什么我不能通过在 functions.php 文件中删除/添加操作来更改这些?

【讨论】:

【参考方案2】:

将此函数添加到您的主题functions.php

add_action( 'init', 'remove_content' );
function remove_content() 
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 7 ); 
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_sharing', 50 );

如果您想再次添加一些元素,请使用 add_action 并根据需要更改优先级。

【讨论】:

以上是关于Woocommerce 重新排序单页钩子,描述显示两次的主要内容,如果未能解决你的问题,请参考以下文章

单个产品页面上的 Woocommerce 钩子溢出

WooCommerce 在变体标签后显示内容

如何按ID排序不随机化Woocommerce的相关产品

php [WooCommerce Core]重新排序标签

php [WooCommerce Core]重新排序标签

php 重新排序WooCommerce中的结帐字段