Хуки Reboot

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

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

Содержание
  1. Для событий action
  2. Для фильтров filter
  3. Хуки встроенных модулей
  4. wpshop_toc_headers
  5. wpshop_toc_minimum_headers
  6. reboot_contact_form_fields
  7. reboot_metabox_thumbnail_post_type
  8. reboot_metabox_hide_elements_post_type
  9. Хуки карточек постов
  10. reboot_image_size_standard
  11. reboot_image_size_small
  12. reboot_image_size_square
  13. reboot_section_posts_categories_title
  14. reboot_post_card_grid_thumbnail_size
  15. reboot_post_card_standard_thumbnail_size
  16. reboot_post_card_vertical_thumbnail_size
  17. reboot_post_card_horizontal_thumbnail_size
  18. reboot_post_card_square_thumbnail_size
  19. reboot_post_card_related_thumbnail_size
  20. reboot_after_post_card
  21. Хуки шапки и верхнего меню
  22. reboot_after_body
  23. reboot_before_header
  24. reboot_logotype_alt
  25. reboot_before_main_navigation
  26. reboot_after_main_navigation
  27. reboot_after_header
  28. reboot_before_site_content
  29. Хуки записей
  30. reboot_single_before_title
  31. reboot_single_after_title
  32. reboot_single_before_excerpt
  33. reboot_single_after_excerpt
  34. reboot_single_after_the_content
  35. reboot_single_before_social
  36. reboot_single_after_social
  37. reboot_single_before_related
  38. reboot_single_after_related
  39. Хуки страниц
  40. reboot_page_before_title
  41. reboot_page_after_title
  42. reboot_page_after_the_content
  43. Хуки страниц архивов
  44. reboot_archive_before_title
  45. reboot_archive_after_title
  46. reboot_archive_before_posts
  47. reboot_archive_after_posts
  48. Хуки подвала и нижнего меню
  49. reboot_after_site_content
  50. reboot_before_footer
  51. reboot_after_footer
  52. Дополнительные хуки
  53. reboot_style_version
  54. Отключаем вывод Техническая поддержка в верхней панели

Для событий 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_metabox_thumbnail_post_type

filter / Позволяет добавить блок «Настройки миниатюры» в окно редактирования записи произвольного типа поста, с возможностью вывода разных типов миниатюр на странице записи.

/**
 * $post_type - название произвольного типа постов
 */
add_filter( 'reboot_metabox_thumbnail_post_type', function() {
   return array( 'post', 'page', '$post_id' );
} );

reboot_metabox_hide_elements_post_type

filter / Позволяет добавить блок «Скрыть элементы» в окно редактирования записи произвольного типа поста.

/**
 * $post_type - название произвольного типа постов
 */
add_filter( 'reboot_metabox_hide_elements_post_type', function() {
   return array( 'post', '$post_id' );
} );

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

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

При загрузке картинки в админку, для неё автоматически генерируются миниатюры: 870×400, 335×220 и 100х100 пикселей. При этом картинки пропорционально уменьшаются и обрезаются.

reboot_image_size_standard

filter / Позволяет изменить размер стандартных миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 870×400.

/**
 * Изменить размеры стандартных миниатюр в карточках постов
 */
add_filter( 'reboot_image_size_standard', function() {
    return array( 870, 400, true );
} );

Не забудьте перегенерировать миниатюры.

reboot_image_size_small

filter / Позволяет изменить размер маленьких миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 335×220.

/**
 * Изменить размеры маленьких миниатюр в карточках постов
 */
add_filter( 'reboot_image_size_small', function() {
    return array( 335, 220, true );
} );

Не забудьте перегенерировать миниатюры.

reboot_image_size_square

filter / Позволяет изменить размер квадратных миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 100×100.

/**
 * Изменить размеры квадратных миниатюр в карточках постов
 */
add_filter( 'reboot_image_size_square', function() {
    return array( 100, 100, true );
} );

Не забудьте перегенерировать миниатюры.

reboot_section_posts_categories_title

filter / По умолчанию в блоках «Вывод постов» встроенного конструктора главной выводится заголовок «Подразделы» для подрубрик. С помощью данного фильтра можно изменить данный заголовок.


add_filter( 'reboot_section_posts_categories_title', function() {
    return 'Здесь добавьте нужный заголовок';
} );

reboot_post_card_grid_thumbnail_size

filter / По умолчанию в карточках постов «Сетка» выводятся маленькие миниатюры 335х220 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 870х400 или квадратные 100х100 пикселей.

/**
 * Изменить вывод миниатюр в карточках постов "Сетка"
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_grid_thumbnail_size', function() {
    return '$thumbnail';
} );

reboot_post_card_standard_thumbnail_size

filter / По умолчанию в карточках постов «Стандартная» выводятся стандартные миниатюры 870х400 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на маленькие 335х220 или квадратные 100х100 пикселей.

/**
 * Изменить вывод миниатюр в карточках постов "Стандартная"
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_standard_thumbnail_size', function() {
    return '$thumbnail';
} );

reboot_post_card_vertical_thumbnail_size

filter / По умолчанию в карточках постов «Вертикальная» выводятся маленькие миниатюры 335х220 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 870х400 или квадратные 100х100 пикселей.

/**
 * Изменить вывод миниатюр в карточках постов "Вертикальная"
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_vertical_thumbnail_size', function() {
    return '$thumbnail';
} );

reboot_post_card_horizontal_thumbnail_size

filter / По умолчанию в карточках постов «Горизонтальная» выводятся маленькие миниатюры 335х220 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 870х400 или квадратные 100х100 пикселей.

/**
 * Изменить вывод миниатюр в карточках постов "Горизонтальная"
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_horizontal_thumbnail_size', function() {
    return '$thumbnail';
} );

reboot_post_card_square_thumbnail_size

filter / По умолчанию в карточках постов «Маленькая» выводятся квадратные миниатюры 100х100 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 870х400 или маленькие 335х220 пикселей.

/**
 * Изменить вывод миниатюр в карточках постов "Маленькая"
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_square_thumbnail_size', function() {
    return '$thumbnail';
} );

reboot_post_card_related_thumbnail_size

filter / По умолчанию в похожих записях выводятся маленькие миниатюры 335х220 пикселей. С помощью данного фильтра можно изменить вывод миниатюр в похожих записях на стандартные 870х400 или квадратные 100х100 пикселей.

/**
 * Изменить вывод миниатюр в похожих записях
 * $thumbnail - размеры миниатюр: reboot_standard, reboot_small, reboot_square
 */
add_filter( 'reboot_post_card_related_thumbnail_size', function() {
    return '$thumbnail';
} );

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