Хуки Reboot

В тему Reboot добавлены хуки: события (action) и фильтры (filter). С их помощью Вы можете добавлять свой код, изменять вывод или даже убирать какие-то блоки. Ниже идет описание хуков и примеры их использования.

Лучше всего для этого использовать плагин ProFunctions, установите и добавьте в него нужный код.

Для событий action

Для добавления события необходимо использовать ф-цию add_action(),
первый аргумент которой — название события в теме, например reboot_after_header
второй аргумент — функция, которая будет вызвана.

Например:

add_action( 'reboot_after_header', function() {
    echo 'Hello';
} );

Данных хук после шапки сайта выведет сообщение «Hello».

Для фильтров filter

Все аналогично, только вместо add_action() используем add_filter() и вместо echo используем return.

Ниже будут примеры готового куда для некоторых хуков.

Хуки встроенных модулей

Список хуков, с помощью которых можно добавить или изменить элементы встроенных модулей.

wpshop_toc_headers

filter / По умолчанию в встроенном содержании выводятся заголовки h1, h2, h3, h4. С помощью данного фильтра можно исключить или добавить другие заголовки (например, добавить h5).

/**
 * Изменить заголовки в содержании
 */
add_filter( 'wpshop_toc_headers', function() {
    return array( 'h1', 'h2', 'h3', 'h4', 'h5' );
} );

wpshop_toc_minimum_headers

filter / По умолчанию встроенное содержание выводится, если в тексте записи или страницы есть 3 и больше заголовков h2, h3 или h4. С помощью данного фильтра можно изменить кол-во заголовков для вывода содержания (например, чтобы содержание выводилось от 2-х заголовков).

/**
 * Изменить заголовки в содержании
 */
add_filter( 'wpshop_toc_headers', function() {
    return 2;
} );

reboot_contact_form_fields

filter / Позволяет настроить вывод полей в форме обратной связи. Ниже пример добавления поля Телефон к форме обратной связи.

/**
 * Изменить поля в форме обратной связи
 *
 * name         - ID поля - латинские, цифры, минус, нижнее подчеркивание
 * type         - type у input, по умолчанию text, может быть email, number и т.д
 * placeholder  - описание у поля, можно на русском
 * required     - может быть равно required, если обязательное поле
 * tag          - может быть textarea, по умолчанию input
 */
add_filter( 'reboot_contact_form_fields', function () {
    return [
        [
            'name'        => 'contact-name',
            'placeholder' => 'Ваше имя',
            'required'    => 'required',
        ],
        [
            'name'        => 'contact-email',
            'type'        => 'email',
            'placeholder' => 'E-mail',
            'required'    => 'required',
        ],
        [
            'name'        => 'contact-phone',
            'type'        => 'text',
            'placeholder' => 'Телефон',
            'required'    => 'required',
        ],
        [
            'name'        => 'contact-subject',
            'placeholder' => 'Тема',
        ],
        [
            'tag'         => 'textarea',
            'name'        => 'contact-message',
            'placeholder' => 'Сообщение',
            'required'    => 'required',
        ],
    ];
} );

Хуки карточек постов

Список хуков, с помощью которых можно добавить или изменить элементы карточек постов.

reboot_after_post_card

action / Позволяет выводить любой код после карточек постов. Например, чтобы разместить какой-то код/блок на главной после 2 поста. При этом у функции есть 2 параметра: $n — порядковый номер карточки поста и $type — тип карточки поста.

/**
 * $n - порядковый номер карточки после
 * $type - тип карточки поста: grid, standard, horizontal, small, vertical
 */
add_action( 'reboot_after_post_card', function( $n, $type ) {

   // блок после 2 карточки на главной
   if ( is_home() && $n == 2 ) {
      echo '<div style="width: 100%;background:#eee;padding: 15px;margin: 10px 0 20px;">Блок на главной после 2 карточки</div>';
   }

   // этот блок будет выводиться после 2, 4 и 8 карточки поста в рубрике 16
   if ( is_category( 16 ) && in_array( $n, [2,4,8] ) ) {
      echo '<div style="width: 100%;background:#eee;padding: 15px;margin: 10px 0 20px;">Блок после 2, 4 и 8 карточки в рубрике 16</div>';
   }

   // после 3 карточки поста везде, где тип карточки Стандартная
   if ( $n == 3 && $type == 'standard' ) {
      echo '<div style="width: 100%;background:#eee;padding: 15px;margin: 10px 0 20px;">Блок после 3 карточки типа standard</div>';
   }

}, 10, 2 );

Хуки шапки и верхнего меню

Список хуков, с помощью которых можно добавить или изменить элементы шапки и верхнего меню.

reboot_after_body

action / Позволяет вывести любой код сразу после тега

reboot_before_header

action / Позволяет вывести любой код перед шапкой сайта

reboot_logotype_alt

action / Позволяет изменить атрибут alt у картинки логотипа

reboot_before_main_navigation

action / Позволяет вывести любой код перед меню под шапкой

reboot_after_main_navigation

action / Позволяет вывести любой код после меню под шапкой

reboot_after_header

action / Позволяет вывести любой код после шапки сайта

reboot_before_site_content

action / Позволяет вывести любой код перед контентом сайта

Хуки записей

Список хуков, с помощью которых можно добавить или изменить элементы в записи.

reboot_single_before_title

action / Позволяет вывести любой код перед названием записи на странице записи

reboot_single_after_title

action / Позволяет вывести любой код после названия записи на странице записи

reboot_single_before_excerpt

action / Позволяет вывести любой код перед отрывком записи на странице записи

reboot_single_after_excerpt

action / Позволяет вывести любой код после отрывка записи на странице записи

reboot_single_after_the_content

action / Позволяет вывести любой код после контента на странице записи

reboot_single_before_social

action / Позволяет вывести любой код перед блоком нижних соц. кнопок на странице записи

reboot_single_after_social

action / Позволяет вывести любой код после блока нижних соц. кнопок на странице записи

action / Позволяет вывести любой код перед блоком похожих записей на странице записи

action / Позволяет вывести любой код после блока похожих записей на странице записи

Хуки страниц

Список хуков, с помощью которых можно добавить или изменить элементы на странице.

reboot_page_before_title

action / Позволяет вывести любой код перед названием страницы.

reboot_page_after_title

action / Позволяет вывести любой код после названия страницы.

reboot_page_after_the_content

action / Позволяет вывести любой код после контента страницы.

Хуки страниц архивов

Список хуков, с помощью которых можно добавить или изменить элементы на страницах архивов.

reboot_archive_before_title

action / Позволяет вывести любой код перед названием страницы архива.

reboot_archive_after_title

action / Позволяет вывести любой код после названия страницы архива.

reboot_archive_before_posts

action / Позволяет вывести любой код перед карточками постов на странице архива.

reboot_archive_after_posts

action / Позволяет вывести любой код после карточек постов на странице архива.

Хуки подвала и нижнего меню

Список хуков, с помощью которых можно добавить или изменить элементы подвала и нижнего меню.

reboot_after_site_content

action / Позволяет вывести любой код после контента сайта

action / Позволяет вывести любой код перед подвалом сайта

action / Позволяет вывести любой код после подвала сайта

Дополнительные хуки

Список хуков, с помощью которых можно добавить или изменить элементы встроенных модулей.

reboot_style_version

filter / Содержит в себе номер версии темы, служит для того, чтобы обновлять CSS и JS у всех посетителей при обновлении темы. Можно отключить кодом ниже:

/**
 * Убрать номер версии ?ver= у css и js файлов
 */
add_filter( 'reboot_style_version', 'reboot_style_version_function' );
function reboot_style_version_function() {
    return null;
}

Отключаем вывод Техническая поддержка в верхней панели

/**
 * Отключить вывод в верхней панели Техническая поддержка
 */
add_action( 'init', function() {
    remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
} );
WPShop Docs