удалить действие Woocommerce в дочерней теме - PullRequest
0 голосов
/ 03 сентября 2018

В Woocommerce я использую тему sober и пытаюсь переопределить некоторые функции по умолчанию, но все работает не так, как я ожидаю.

Например, я написал блок ниже в моей дочерней теме functions.php:

function remove_parent_theme_function() {
    remove_action( 'woocommerce_single_product_summary',
                   'woocommerce_template_single_rating', 15 );
}
add_action('after_setup_theme', 'remove_parent_theme_function');

Я ожидал, что приведенный выше блок кода удалит раздел рейтинга со страницы моего продукта, но это не так.

Что я должен сделать, чтобы переопределить действия родительской темы?

1 Ответ

0 голосов
/ 03 сентября 2018

Функция шаблона woocommerce_template_single_rating подключается с приоритетом 10 (а не 15)… Попробуйте вместо этого следующее:

add_action('woocommerce_single_product_summary', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 10 );
}

Этот код помещается в файл function.php вашей активной дочерней темы (или темы). Должно работать.


Или, если ваша основная родительская тема вносит некоторые изменения с приоритетом 15, используйте:

add_action('woocommerce_single_product_summary', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 15 );
}

или

add_action('init', 'remove_single_rating', 2 );
function remove_single_rating() {
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_rating', 15 );
}
...