产品存档页面上的删除操作

时间:2019-04-05 作者:BarrieO

我有一个product description 连接到我的product archive page 按照以下方式theme (The7):

/**
 * display short desc hook.
 *
 * @hooked woocommerce_template_loop_rating - 5
 * @hooked woocommerce_template_loop_price - 10
 */
do_action( \'woocommerce_shop_loop_item_desc\' );
在我的模板设置中,我有一种隐藏此产品描述的方法,但这只是通过使用CSS display: none;

这不好,因为在后台,描述仍在加载&;这对performance 页的。

因此,我想remove the action. 现在我通过在模板文件中对其进行注释来实现这一点,但每次我更新主题时,我就完蛋了。

我试图通过在functions.php 文件(来源:https://codex.wordpress.org/Function_Reference/remove_action) 但这不起作用:

/* Remove product description on product archive page */
remove_action( \'woocommerce_template_loop_rating\',\'woocommerce_shop_loop_item_desc\', 5);
remove_action( \'woocommerce_template_loop_price\',\'woocommerce_shop_loop_item_desc\', 10);
有人知道如何正确删除该操作吗?

1 个回复
SO网友:Mihai

首先,关于你的评论“每次我更新主题,我就完蛋了”-你应该始终使用child theme 进行任何自定义时。

第二,你的remove_action 打错电话了。根据您已经链接到的文档,它声明第一个参数是$tag 第二个是$function_to_remove. 现在,你的论点是相反的。

所以正确的电话应该是

/* Remove product description on product archive page */
remove_action( \'woocommerce_shop_loop_item_desc\', \'woocommerce_template_loop_rating\', 5);
remove_action( \'woocommerce_shop_loop_item_desc\', \'woocommerce_template_loop_price\', 10);
更新时间:

如果上述解决方案不起作用,可能是因为挂钩在主题设置后触发。在这种情况下,您可以尝试以下操作:

add_action( \'after_setup_theme\', \'my_remove_parent_theme_stuff\', 0 );

function my_remove_parent_theme_stuff() {
    remove_action( \'woocommerce_shop_loop_item_desc\', \'woocommerce_template_loop_rating\', 5);
    remove_action( \'woocommerce_shop_loop_item_desc\', \'woocommerce_template_loop_price\', 10);

}

相关推荐

EDIT-Comments.php COMMENT_ROW_ACTIONS AJAX问题

在编辑注释上。php页面,我正在连接到comment\\u row\\u actions过滤器,以便在末尾添加另一个链接。我正在复制“Approve”链接,添加另一个查询键和值,并修改锚文本。我想根据新查询键的值添加一些注释元。批准的链接:/wp-admin/comment.php?c=9999&action=approvecomment&_wpnonce=8526c66已批准的元链接/wp-admin/comment.php?c=9999&action=approvecommen