woocommerce_template_single_add_to_cart не работает - PullRequest
1 голос
/ 17 января 2020

Я пытаюсь переместить раздел 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');
}

Может кто-нибудь, пожалуйста, помогите мне, как я могу сделать это?

1 Ответ

0 голосов
/ 17 января 2020

Это может помочь:

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' );
}

Хук действия - это точка, в которой будет выполняться ваша функция. См. Прикрепленное изображение: enter image description here
Когда вы удаляете действие, подключенное к woocommerce_single_product_summary, оно работает, но добавление его снова на тот же крючок никуда не переместит. Потому что эта точка все еще там. Перемещение означает, что вы должны снять его с этого крючка, а затем добавить его к другому крючку. Это как удалить его в точке А и поместить в точку Б.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...