我试图将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
请帮我解决这个问题。这对我来说会很棒。
奇怪的是,你必须从函数内部调用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()
。
在函数内运行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 );
注意并尝试不同的优先级。