#wordpress #woocommerce
#wordpress #woocommerce
Вопрос:
Почти закончил мою дочернюю тему для витрины магазина WooCommerce.
Под нижним колонтитулом на страницах товаров находится блок, который у меня нет желания сохранять. Так же, как я сделал с несколькими другими посторонними элементами разметки, я отследил действие и удалил его:
remove_action( 'storefront_after_footer', 'storefront_sticky_single_add_to_cart');
… Он все еще отображается на странице.
Я даже попробовал несколько случайных вещей, которые нашел:
add_filter ('storefront_sticky_add_to_cart', '__return_false');
и
function cleanup_parent_filters()
{
//...
remove_action( 'storefront_after_footer', 'storefront_sticky_single_add_to_cart');
}
add_action( 'wp_loaded', 'cleanup_parent_filters');
Безрезультатно.
Это действительно раздражает больше всего. Я могу удалить все do_action( 'storefront_after_footer' );
из шаблона, поскольку на самом деле мне просто все равно, что он там есть, но теперь мне нужно знать, почему это из принципа работает не так, как ожидалось.
Комментарии:
1. Для информации: В меню «Настройщик» > «Страница товара» есть опция включения / отключения функции «Липкое добавление в корзину».…
Ответ №1:
попробуйте
remove_action( 'storefront_after_footer',
'storefront_sticky_single_add_to_cart', 999 );
remove_action
требуется значение приоритета, поскольку оно использовалось для добавления действия. Из документов
Важно: Чтобы удалить перехват, аргументы $function_to_remove и $priority должны совпадать при добавлении перехвата. Это касается как фильтров, так и действий. При сбое удаления предупреждение выдано не будет.
И почему 999? Из исходного кода.
Отказ от ответственности: я не тестировал это.