Хуки

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

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

Для событий action

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

Например:

add_action( 'root_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 [ 'h1', 'h2', 'h3', 'h4', 'h5' ];
} );

wpshop_toc_minimum_headers

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

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

root_social_share_buttons

filter / Позволяет изменить порядок и вывод кнопок шаринга соц. сетей, поменять местами, какие-то отключить, какие-то добавить.

/**
 * Изменить вывод соц. кнопок для шаринга
 */
add_filter( 'root_social_share_buttons', function() {
    return [ 'vk', 'fb', 'twitter', 'ok', 'whatsapp', 'viber', 'telegram', 'mail', 'linkedin', 'reddit', 'pinterest' ];
} );

root_comments_title

filter / Позволяет изменить заголовок блока комментариев, перед кол-вом комментариев

/**
 * Изменить заголовок блока комментариев
 */
add_filter( 'root_comments_title', function() {
    return 'Здесь вставьте нужный заголовок блока комментариев';
} );

Хуки формы обратной связи (контактной формы)

wpshop_contact_form_email_to

filter / Заменить e-mail, на который приходят письма с формы обратной связи.

/**
 * заменить e-mail, на который приходят письма с формы обратной связи
 * @since 2.4.2
 */
add_filter( 'wpshop_contact_form_email_to', function() {
    return '[email protected]';
} );

wpshop_contact_form_url_from

filter / С помощью данного фильтра можно изменять адрес страницы в письме, с которой была отправлено письмо.

wpshop_contact_form_button_text

filter / С помощью данного фильтра можно изменять текст кнопки “Отправить”.

wpshop_contact_form_message_sent

filter / С помощью данного фильтра можно изменять текст после отправки сообщения.

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

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

root_post_content_excerpt_more_classes

filter / С помощью данного фильтра можно изменить класс ссылки “Читать полностью” в карточках постов.

root_post_content_excerpt_more

filter / С помощью данного фильтра можно изменить текст ссылки “Читать полностью” в карточках постов.

root_thumb_big_sizes

filter / С помощью данного фильтра можно изменить размер миниатюр 770×330 пикселей в карточках постов “Одна запись большая”.

/**
 * Изменить размеры стандартных миниатюр на главной странице и страницах архивов
 */
add_filter( 'root_thumb_big_sizes', function() {
    return [ 770, 330, true ]; // ширина, высота, обрезать картинку true/false
} );

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

root_thumb_wide_sizes

filter / С помощью данного фильтра можно изменить размер миниатюр 330×140 пикселей в карточках постов “Одна запись маленькая” и “Небольшие карточки (2 или 3 в строке)”.

/**
 * Изменить размеры миниатюр в похожих записях и в маленьких карточках постов
 */
add_filter( 'root_thumb_wide_sizes', function() {
    return [ 330, 140, true ]; // ширина, высота, обрезать картинку true/false
} );

Затем нажмите Внешний вид > Настроить > Дополнительные стили и добавьте код

.post-card {
max-width: 330px;
}

.post-card__image img {
max-height: 140px;
}

.thumb-wide {
height: 140px;
}

@media (min-width: 1200px) {
.post-card {
width: 330px;
}
}

Вместо 330 и 140 укажите нужные размеры.

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

root_excerpt_length

filter / Позволяет изменить длину отрывка во всех карточках постов

/**
 * Задать новую длину отрывка - 15 слов
 */
add_filter( 'root_excerpt_length', function() {
    return 15;
} );

root_excerpt_more

filter / Позволяет задать новое окончание отрывка, вместо …

/**
 * Задать новое окончание отрывка на →
 */
add_filter( 'root_excerpt_more', function() {
    return ' →';
} );

root_after_post_card

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

/**
 * $n - порядковый номер карточки после
 * $type - тип карточки поста: post-box, post-card и post-card-one
 */
add_action( 'root_after_post_card', function( $n, $type ) {
 // блок после 2 карточки на главной
 if ( is_home() && $n == 2 ) {
 echo 'Здесь вставьте js- скрипт или текст, который нужно вывести';
 }

 // этот блок будет выводиться после 2, 4 и 8 карточки поста в рубрике 16
 if ( is_category( 'Здесь можете указать id категории' ) && in_array( $n, [2,4,8] ) ) {
 echo 'Здесь вставьте js- скрипт или текст, который нужно вывести';
 }

 // после 3 карточки поста везде, где тип карточки Стандартная
 if ( $n == 3 && $type == 'post-box' ) {
 echo 'Здесь вставьте js- скрипт или текст, который нужно вывести';
 }
}, 10, 2 );

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

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

root_after_body

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

root_before_header

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

root_logotype_alt

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

root_before_main_navigation

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

root_after_main_navigation

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

root_after_header

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

root_before_site_content

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

Хуки главной страницы

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

root_index_before_posts

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

root_index_after_posts

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

root_index_after_pagination

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

Хуки записей

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

root_post_thumbnail

filter / По умолчанию на странице записи выводится полная миниатюра (full). С помощью данного фильтра можно изменить вывод миниатюры на большую 770х330 пикселей (thumb-big), маленькую 330х140 пикселей (thumb-wide) или стандартную WP.

/**
 * Изменить вывод миниатюры на странице записи
 * Размеры миниатюр: full, thumb-big, thumb-wide или стандартный WP
 */
add_filter( 'root_post_thumbnail', function() {
    return [ 770, 330, true ]; // ширина, высота, обрезать картинку true/false
} );

root_single_before_title

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

root_single_after_title

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

root_single_before_excerpt

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

root_single_after_excerpt

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

root_single_the_content

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

root_single_after_the_content

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

root_single_before_social

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

root_single_after_social

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

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

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

Хуки страниц

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

root_page_thumbnail

filter / По умолчанию на странице выводится полная миниатюра (full). С помощью данного фильтра можно изменить вывод миниатюры на большую 770х330 пикселей (thumb-big), маленькую 330х140 пикселей (thumb-wide) или стандартную WP.

/**
 * Изменить вывод миниатюры на странице записи
 * Размеры миниатюр: full, thumb-big, thumb-wide или стандартный WP
 */
add_filter( 'root_page_thumbnail', function() {
    return [ 770, 330, true ]; // ширина, высота, обрезать картинку true/false
} );

root_page_before_title

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

root_page_after_title

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

root_page_the_content

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

root_page_after_the_content

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

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

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

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

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

root_archive_before_title

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

root_archive_after_title

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

root_archive_before_posts

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

root_archive_after_posts

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

Хуки сайдбара

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

root_sidebar_before_widgets

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

root_sidebar_after_widgets

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

root_widget_article_normal_thumbnail

action / Позволяет изменить размер миниатюр в виджете “Вывод статей”.

root_widget_article_compact_thumbnail

action / Позволяет изменить размер миниатюр в виджете “Вывод статей”.

root_widget_article_normal_excerpt

action / Позволяет изменить количество символов в описании записей виджета “Вывод статей”.

root_widget_article_compact_excerpt

action / Позволяет изменить количество символов в описании записей виджета “Вывод статей”.

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

root_after_site_content

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

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

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

Хуки для встроенного слайдера

root_slider_output

action / Позволяет изменить условия вывода встроенного слайдера на страницах

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

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

root_style_version

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

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

root_customizer_styles_position

filter / Позволяет изменить хук для вывода стилей кастомайзера, например, перенести их в подвал

/**
 * Изменить хук для вывода стилей кастомайзера
 * например, перенести их в подвал
 */
add_filter( 'root_customizer_styles_position', function() {
    return 'wp_footer';
} );

root_customizer_styles_priority

filter / Позволяет изменить вес(порядок) для вывода стилей кастомайзера

add_filter( 'root_customizer_styles_priority', function() {
    return 999;
} );

root_check_license_function

filter / Позволяет отключить дублирующую ф-цию для проверки лицензии check_license. Необходимо при конфликтах в названиях ф-ций check_license

/**
 * Отключаем дублирующую ф-цию check_license
 */
add_filter( 'root_check_license_function', '__return_false' );

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

/**
 * Отключить вывод в верхней панели Техническая поддержка
 */
add_action( 'init', function() {
    remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
} );
  • Для событий action
  • Для фильтров filter
  • Хуки встроенного содержания
  • wpshop_toc_headers
  • wpshop_toc_minimum_headers
  • root_social_share_buttons
  • root_comments_title
  • Хуки формы обратной связи (контактной формы)
  • wpshop_contact_form_email_to
  • wpshop_contact_form_url_from
  • wpshop_contact_form_button_text
  • wpshop_contact_form_message_sent
  • Хуки карточек постов
  • root_post_content_excerpt_more_classes
  • root_post_content_excerpt_more
  • root_thumb_big_sizes
  • root_thumb_wide_sizes
  • root_excerpt_length
  • root_excerpt_more
  • root_after_post_card
  • Хуки шапки и верхнего меню
  • root_after_body
  • root_before_header
  • root_logotype_alt
  • root_before_main_navigation
  • root_after_main_navigation
  • root_after_header
  • root_before_site_content
  • Хуки главной страницы
  • root_index_before_posts
  • root_index_after_posts
  • root_index_after_pagination
  • Хуки записей
  • root_post_thumbnail
  • root_single_before_title
  • root_single_after_title
  • root_single_before_excerpt
  • root_single_after_excerpt
  • root_single_the_content
  • root_single_after_the_content
  • root_single_before_social
  • root_single_after_social
  • root_single_before_related
  • root_single_after_related
  • Хуки страниц
  • root_page_thumbnail
  • root_page_before_title
  • root_page_after_title
  • root_page_the_content
  • root_page_after_the_content
  • root_page_before_related
  • root_page_after_related
  • Хуки страниц архивов
  • root_archive_before_title
  • root_archive_after_title
  • root_archive_before_posts
  • root_archive_after_posts
  • Хуки сайдбара
  • root_sidebar_before_widgets
  • root_sidebar_after_widgets
  • root_widget_article_normal_thumbnail
  • root_widget_article_compact_thumbnail
  • root_widget_article_normal_excerpt
  • root_widget_article_compact_excerpt
  • Хуки подвала и нижнего меню
  • root_after_site_content
  • root_before_footer
  • root_after_footer
  • Хуки для встроенного слайдера
  • root_slider_output
  • Дополнительные хуки
  • root_style_version
  • root_customizer_styles_position
  • root_customizer_styles_priority
  • root_check_license_function
  • Отключаем вывод Техническая поддержка в верхней панели