我试图将Woocommerce单品页面中的产品标题移至不同位置。接受的位置位于itemscope itemtype="http://schema.org/Product"
之下,我试图首先从当前位置删除标题remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 50);
,但不从当前位置删除标题。
另一个问题是我无法将产品标题添加到我使用do_action( 'woocommerce_moved_product_title_position' );
然后add_action('woocommerce_moved_product_title_position', 'woocommerce_template_single_title', 60);
我正在使用Woocommerce 2.4.13和WordPress 4.4.1
请帮我解决这个问题。它对我来说很棒。
答案 0 :(得分:1)
奇怪的是,你必须从函数内部调用remove_action
。
function so_34845641_move_title(){
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 50);
add_action('woocommerce_moved_product_title_position', 'woocommerce_template_single_title', 60);
}
add_action( 'woocommerce_before_single_product', 'so_34845641_move_title' );
只是建议可能足够的钩子而不需要在模板中添加自定义do_action()
。
答案 1 :(得分:0)
在函数内运行remove_action不会改变任何东西,但改变优先级为我工作。
我举个例子:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20);
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30);
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 15 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 10 );
注意并尝试不同的优先事项。