首页 > 解决方案 > woocommerce_template_single_add_to_cart 不工作

问题描述

我正在尝试将部分移动woocommerce_template_single_add_to_cart到选项卡部分下。为此,我完成了以下编码

add_filter( 'woocommerce_single_product_summary', 'filter_grouped_cart');
function filter_grouped_cart(){
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
}

但是当我把它放在woocommerce_template_single_add_to_cart标签上时,它什么也没显示。

add_filter('woocommerce_product_tabs', 'woo_new_product_tab');

function woo_new_product_tab($tabs) {
    $tabs['related_products'] = array(
        'title' => __('Models', 'woocommerce'),
        'priority' => 50,
        'callback' => 'woo_new_product_tab_content'
    );
    return $tabs;
}

function woo_new_product_tab_content() {
    add_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart');
}

谁能帮助我我该怎么做?

标签: woocommerce

解决方案


这可能会有所帮助:

add_filter( 'woocommerce_single_product_summary', 'filter_grouped_cart', 0);
function filter_grouped_cart(){
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    // add it to new action hook... this will complete the "move"
    add_action( 'woo_new_product_tab_content', 'woocommerce_template_single_add_to_cart', );
}

add_filter('woocommerce_product_tabs', 'woo_new_product_tab');
function woo_new_product_tab($tabs) {
    $tabs['related_products'] = array(
        'title' => __('Models', 'woocommerce'),
        'priority' => 50,
        'callback' => 'woo_new_product_tab_content'
    );
    return $tabs;
}

function woo_new_product_tab_content() {
    // run our own action hook
    do_action( 'woo_new_product_tab_content' );
}

动作挂钩是您的函数将运行的点。见附图: 当你删除一个与 挂钩的动作时,它可以工作,但在同一个钩子上再次添加它不会将它移动到某个地方。因为那个点还在。移动意味着您必须将其从那个钩子中删除,然后将其添加到另一个钩子中。这就像将其从 A 点移开并放在 B 点。在此处输入图像描述
woocommerce_single_product_summary


推荐阅读