移动Woocommerce单一产品标题

时间:2016-01-18 00:42:29

标签: php wordpress woocommerce

我试图将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

请帮我解决这个问题。它对我来说很棒。

2 个答案:

答案 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 );

注意并尝试不同的优先事项。