В тему 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 / Позволяет вывести любой код после блока нижних соц. кнопок на странице записи
root_single_before_related
action / Позволяет вывести любой код перед блоком похожих записей на странице записи
root_single_after_related
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 / Позволяет вывести любой код после контента страницы.
root_page_before_related
action / Позволяет вывести любой код перед блоком похожих записей на странице.
root_page_after_related
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 / Позволяет вывести любой код после контента сайта
root_before_footer
action / Позволяет вывести любой код перед подвалом сайта
root_after_footer
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' );
} );