Как изменить Woocommerce с помощью дочерей темы. Часть 4 — как использовать filter hook

Автор: | 19.04.2020

В прошлой статье мы рассмотрели, что такое хуки (hooks) и как использовать action hooks. Сегодня поговорим о более сложных фильтрах.

Как использовать filter hook для внесения изменений в Woocommerce

Filter Hooks вызываются в WooCommerce с помощью функции apply_filter( ‘filter_name’, $variable ).

Добавляют новые фильтры с помощью команды

add_filter( 'filter_name', 'your_custom_function_name' )

Это позволяет вам манипулировать переменной, которая передается в функцию, а затем возвращать значение переменной по мере необходимости.

Пример:

add_filter( 'filter_name', 'your_custom_function_name' );
function your_custom_function_name( $variable ) {
// Ваш код редактирует переменную
return $variable;
}

Подобно action hook, вы создаете свою собственную функцию php и указываете, на каком фильтре ее использовать, но на этот раз вы передаете переменную, которая уже существует, и используете свою функцию для манипулирования выводом в соответствии с тем, что вам нужно.

С помощью хуков фильтра вам нужно вернуть значение.

Поиск фильтров в woocommerce

Поиск фильтров в woocommerce задача посложнее. Частично с ней поможет справиться плагин Query Monitor.

После его установки на верхней панели появится такое поле.

Query Monitor

При наведении появится секция с важной информацией, в том числе строка события и фильтры.

Query Monitor

Давайте перейдем на главную страницу и поменяем название заголовка «Популярное». Так как нам нужно внести изменение уже существующей информации, мы будем использовать фильтры.

как использовать filter hook

Чтобы найти нужный фильтр нажимаем на строку «события и фильтры» плагина Query Monitor.

Появится следующая информация.

Query Monitor

Выберем сверху homepage (ведь мы на главной странице), справа выберем события. Так как мы хотим переименовать раздел «популярное», то логично предположить, что за его отображение будет отвечать функция storefront_popular_products().

Нажмем на крестик рядом с функцией и увидим путь, который показывает, где спрятан данный фильтр, причем указывается и номер строки.

Переходим в шаблон wp-content/themes/storefront/inc/woocommerce/storefront-woocommerce-template-functions.php

Ищем 410 строку.

как использовать filter hook

Таким образом мы установили, что за вывод популярных товаров отвечает фильтр под названием ‘storefront_popular_products_args’.

Теперь осталось переопределить его в functions.php дочерней темы.

 function carolinaspa_popular_product($args1){

              $args1['title' ] = "Это новое название популярных товаров";

    return $args1;

        }

        add_action("storefront_popular_products_args", "carolinaspa_popular_product");

Смотрим результат

как использовать filter hook

Таким же образом можно поменять количество колонок, товаров и так далее.

Например, сделаем так, чтобы на странице отображалось только 6 популярных товаров в 2 колонки.

function carolinaspa_popular_product($args1){

        $args1['limit'] = 6;

        $args1['columns'] = 2;

        $args1['title' ] = "Это новое название популярных товаров";

    return $args1;

        }

        add_action("storefront_popular_products_args", "carolinaspa_popular_product");

как использовать filter hook

В следующей статье мы продолжим менять главную страницу.

Как изменить Woocommerce с помощью дочерей темы. Часть 12 — настройка страницы входа в систему
настройка страницы входа в систему

Стандартная страница входа на сайт wordPress выглядит не очень привлекательно. Read more

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

четырнадцать − четыре =