首页 文章

移动Woocommerce单一产品 Headers

提问于
浏览
1

我试图将Woocommerce单品页面的 product title 移动到不同的位置 . 接受的位置正好在 itemscope itemtype="http://schema.org/Product" 之下,我试图从当前位置首先删除 Headers remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_title', 50); 但未从当前位置删除 Headers .

另一个问题是我无法将产品 Headers 添加到我使用 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

    奇怪的是,你必须从函数内部调用 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

    在函数内部运行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 );
    

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

相关问题