Для начала ознакомьтесь со статьей что такое хуки и как с ними работать.
Лучше всего для этого использовать плагин ProFunctions, установите и добавьте в него нужный код.
В тему Root добавлены хуки: события (action) и фильтры (filter). С их помощью можно добавлять свой код, изменять вывод или даже убирать какие-то блоки.
Для событий action
Для добавления события необходимо использовать ф-цию add_action(),
первый аргумент которой — название события в теме, например root_after_header
второй аргумент — функция, которая будет вызвана.
Например:
add_action( 'root_after_header', function() {
echo 'Hello';
} );
Данных хук после шапки сайта выведет сообщение «Hello».
Для фильтров filter
Все аналогично, только вместо add_action() используем add_filter() и вместо echo используем return.
Ниже идет описание хуков и примеры их использования.
Хуки шапки и верхнего меню
Список хуков, с помощью которых можно добавить или изменить элементы шапки и верхнего меню.
root_after_body
action / Позволяет вывести любой код сразу после тега.
root_before_header
action / Позволяет вывести любой код перед шапкой сайта.
root_logotype_alt
filter / Позволяет изменить атрибут alt картинки логотипа. Значение по умолчанию: название сайта.
root_after_header
action / Позволяет вывести любой код после шапки сайта
Хуки меню под шапкой сайта
Список хуков, с помощью которых можно добавить или изменить элементы меню под шапкой сайта.
root_before_main_navigation
action / Позволяет вывести любой код перед меню под шапкой.
root_after_main_navigation
action / Позволяет вывести любой код после меню под шапкой.
Хуки контента
Список хуков, с помощью которых можно добавить или изменить элементы контента сайта.
root_before_site_content
action / Позволяет вывести любой код перед контентом сайта.
root_after_site_content
action / Позволяет вывести любой код после контента сайта.
Хуки главной страницы
Список хуков, с помощью которых можно добавить или изменить элементы на главной странице.
root_index_before_posts
action / Позволяет вывести любой код перед карточками постов.
root_index_after_posts
action / Позволяет вывести любой код после карточек постов.
root_index_after_pagination
action / Позволяет вывести любой код после пагинации.
Хуки записей
Список хуков, с помощью которых можно добавить или изменить элементы в записи.
root_post_thumbnail
filter / Позволяет изменить размеры стандартной миниатюры 770х330 пикселей на странице записи. Значение по умолчанию: [ 770, 330, true ].
/* Изменить размеры стандартной миниатюры на странице записи */
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 / Позволяет изменить размеры стандартной миниатюры 770х330 пикселей на странице записи. Значение по умолчанию: [ 770, 330, true ].
/* Изменить размеры стандартной миниатюры на странице записи */
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_author_avatar_size
filter / Позволяет изменить размеры аватара 70х70 пикселей в встроенном блоке автора. Значение по умолчанию: ’70’.
/* Изменить размеры аватара в блоке автора */
add_filter( 'root_author_avatar_size', function () {
return 'Здесь вставьте нужный размер';
} );
Хуки комментариев
Список хуков, с помощью которых можно добавить или изменить элементы комментариев.
root_comments_title
filter / Позволяет изменить заголовок блока комментариев. Значение по умолчанию: “Комментарии”.
/* Изменить заголовок блока комментариев */
add_filter( 'root_comments_title', function() {
return 'Здесь вставьте нужный заголовок блока комментариев';
} );
root_comment_date_format
filter / Позволяет изменить формат даты комментариев. Значение по умолчанию: ‘d.m.Y’.
/* Изменить формат даты комментариев */
add_filter( 'root_comment_date_format', function () {
return 'Здесь вставьте нужный формат даты';
} );
root_comment_time_format
filter / Позволяет изменить формат времени комментариев. Значение по умолчанию: ‘M:i’.
/* Изменить формат даты комментариев */
add_filter( 'root_comment_time_format', function () {
return 'Здесь вставьте нужный формат времени';
} );
root_comments_no_comments_title
filter / Позволяет изменить текст закрытых комментариев. Значение по умолчанию: ‘Комментарии закрыты’.
/* Изменить текст закрытых комментариев */
add_filter( 'root_comments_no_comments_title', function () {
return 'Здесь вставьте нужный текст';
} );
Хуки страниц архивов
Список хуков, с помощью которых можно добавить или изменить элементы на страницах архивов.
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_before_footer
action / Позволяет вывести любой код перед подвалом сайта
root_after_footer
action / Позволяет вывести любой код после подвала сайта
Хуки карточек постов
Список хуков, с помощью которых можно добавить или изменить элементы карточек постов.
root_post_content_excerpt_more_classes
filter / С помощью данного фильтра можно изменить класс ссылки “Читать полностью” в карточках постов.
root_post_content_excerpt_more
filter / С помощью данного фильтра можно изменить текст ссылки “Читать полностью” в карточках постов.
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 и post-card-square
*/
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 );
Хуки встроенного содержания
Список хуков, с помощью которых можно добавить или изменить элементы встроенных модулей.
wpshop_toc_headers
filter / Позволяет исключить или добавить заголовки в встроенном содержании. Значение по умолчанию: [ ‘h1’, ‘h2’, ‘h3’, ‘h4’ ].
/* Изменить заголовки в встроенном содержании */
add_filter( 'wpshop_toc_headers', function() {
return [ 'h1', 'h2', 'h3', 'h4', 'h5' ];
} );
Массив [ 'h1', 'h2', 'h3', 'h4', 'h5' ] можно отредактировать, добавив или убрав определенные заголовки.
wpshop_toc_minimum_headers
filter / Позволяет изменить минимальное кол-во заголовков для вывода содержания (например, чтобы содержание выводилось от 2-х заголовков). Значение по умолчанию: 3.
/* Изменить кол-во минимальных заголовков для вывода встроенного содержания */
add_filter( 'wpshop_toc_minimum_headers', function() {
return Здесь вставьте нужное кол-во заголовков;
} );
root_social_share_buttons
filter / Позволяет изменить порядок и вывод кнопок шаринга соц. сетей, поменять местами, какие-то отключить, какие-то добавить.
/**
* Изменить вывод соц. кнопок для шаринга
*/
add_filter( 'root_social_share_buttons', function() {
return [ 'vk', 'fb', 'twitter', 'ok', 'whatsapp', 'viber', 'telegram', 'mail', 'linkedin', 'reddit', 'pinterest' ];
} );
Хуки встроенной формы обратной связи
Список хуков, с помощью которых можно добавить или изменить элементы встроенной формы обратной связи.
wpshop_contact_form_email_to
filter / Позволяет задать другую почту, на которую буду приходить сообщения с формы обратной связи. Значение по умолчанию: почта, указанная в поле “Адрес e-mail” Настройки > Общие.
/* Изменить почту, на которую приходят сообщения с формы обратной связи */
add_filter( 'wpshop_contact_form_email_to', function() {
return 'Здесь через запятую добавьте нужные почты';
} );
wpshop_contact_form_url_from
filter / С помощью данного фильтра можно изменять адрес страницы в письме, с которой была отправлено письмо.
wpshop_contact_form_button_text
filter / Позволяет изменить текст кнопки в встроенной форме обратной связи. Значение по умолчанию: ‘Отправить’.
/* Изменить текст кнопки "Отправить" в форме обратной связи */
add_filter( 'wpshop_contact_form_button_text', function() {
return 'Здесь вставьте нужный текст';
} );
wpshop_contact_form_message_sent
filter / Позволяет изменить текст после отправки сообщения формы обратной связи. Значение по умолчанию: ‘Сообщение успешно отправлено!’.
/* Изменить текст после отправки сообщения формы обратной связи */
add_filter( 'wpshop_contact_form_message_sent', function() {
return 'Здесь вставьте нужный текст';
} );
wpshop_contact_form_url_from
filter / Позволяет вместо адреса сайта настроить вывод адреса страницы, с которой было отправлено сообщение. Значение по умолчанию: адрес сайта.
/* Изменить адрес страницы в сообщении с встроенной формы обратной связи */
add_filter( 'wpshop_contact_form_url_from', function() {
return get_site_url() . $_SERVER['REQUEST_URI'];
} );
Хуки шрифтов
Список хуков, с помощью которых можно добавить или изменить элементы шрифтов.
wpshop_fonts_list
filter / Позволяет добавить шрифт Google (например, Architects+Daughter). Данный шрифт должен появиться в списке шрифтов в Внешний вид > Настроить > Типографика.
/* Добавить шрифт Google */
add_filter( 'wpshop_fonts_list', function ( $fonts ) {
$fonts['architects_daughter'] = [
'name' => 'Architects Daughter',
'url' => 'Architects+Daughter',
];
return $fonts;
} );
wpshop_fonts_preload_fonts
filter / Позволяет отключить атрибут preload для иконочного шрифта wpshop-core.ttf, который используется в теме.
/* Отключить атрибут preload для иконочного шрифта wpshop-core.ttf */
add_filter( 'wpshop_fonts_preload_fonts', function( $fonts ) {
foreach ( $fonts as $k => $v ) {
list( $url, $as ) = $v;
if ( $url == get_template_directory_uri() . '/assets/fonts/wpshop-core.ttf' ) {
unset( $fonts[ $k ] );
}
}
return $fonts;
} );
Хуки соц. кнопок
Список хуков, с помощью которых можно добавить или изменить элементы соц. кнопок.
wpshop_social_profiles
filter / Позволяет изменить порядок соц. кнопок. В массиве return укажите нужный порядок вывода соц. кнопок.
/* Изменить порядок соц. кнопок */
add_filter( 'wpshop_social_profiles', function() {
return [ 'facebook', 'vkontakte', 'twitter', 'odnoklassniki', 'telegram', 'youtube',
'instagram', 'tiktok', 'linkedin', 'whatsapp', 'viber', 'pinterest',
'yandexzen', 'github', 'discord', 'rutube', 'yappy', 'pikabu', 'yandex' ];
} );
wpshop_social_whatsapp_link
filter / Позволяет изменить формат ссылки поля “WhatsApp”, добавленной в Внешний вид > Настроить > Модули > Социальные профили. Данная ссылка автоматически преобразуется и будет выводится в формате https://api.whatsapp.com/send?phone=Номер_телефона. С помощью данного кода можно отключить автоматическое преобразование заданного формата по умолчанию и выводить ссылку в таком виде, в котором вы её добавили.
/* Отключить автоматическое форматирование ссылки WhatsApp */
add_filter( 'wpshop_social_whatsapp_link', function() {
return '';
} );
wpshop_social_viber_link
filter / Позволяет изменить формат ссылки поля “Viber”, добавленной в Внешний вид > Настроить > Модули > Социальные профили. Данная ссылка автоматически преобразуется и будет выводится в формате
viber://chat?number=Номер_телефона
для мобильного
viber://add?number=Номер_телефона
С помощью данного кода можно отключить автоматическое преобразование заданного формата по умолчанию и выводить ссылку в таком виде, в котором вы её добавили.
/* Отключить автоматическое форматирование ссылки Viber */
add_filter( 'wpshop_social_viber_link', function() {
return '';
} );
/* Отключить автоматическое форматирование ссылки Viber на мобильном */
add_filter( 'wpshop_social_viber_mobile_link', function() {
return '';
} );
Миниатюры
При загрузке картинки в админку, для неё автоматически генерируются миниатюры:
thumb-big — 770×330
thumb-wide — 330×140
thumb-square — 80х80
При этом картинки пропорционально уменьшаются и обрезаются. Если вам нужен другой размер миниатюры, воспользуйтесь хуками ниже.
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_thumb_square_sizes
filter / С помощью данного фильтра можно изменить размер миниатюр 80×80 пикселей в карточках постов “Квадратные карточки (2 или 3 в строке)”.
/**
* Изменить размеры квадратных миниатюр на главной странице и страницах архивов
*/
add_filter( 'root_thumb_square_sizes', function() {
return [ 80, 80, true ]; // ширина, высота, обрезать картинку true/false
} );
Не забудьте перегенерировать миниатюры.
Хуки слайдера
root_slider_before
action / Позволяет вывести любой код перед слайдером.
root_slider_output
filter / Позволяет изменить условия вывода встроенного слайдера на страницах.
root_slider_excerpt
filter / Позволяет изменить кол-во символов описания записей.
root_slider_after
action / Позволяет вывести любой код после слайдера.
Хуки встроенного виджета “Вывод статей”
root_widget_article_normal_thumbnail
filter / По умолчанию в карточках постов “Обычный” виджета “Вывод статей” выводятся миниатюры 330х140 пикселей. С помощью данного фильтра можно изменить размеры данных миниатюр.
/* Изменить размеры миниатюр в карточках постов "Обычный" виджета "Вывод статей" */
add_filter( 'root_widget_article_normal_thumbnail', function() {
return [ 330, 140, true ]; // ширина, высота, обрезать картинку true/false
} );
root_widget_article_normal_excerpt_strip_tags
filter / По умолчанию, в отрывках карточек постов “Обычный” виджета “Вывод статей” удаляются все теги. С помощью данного фильтра можно включить переносы строк и работу HTML-тегов.
/* Включить переносы строк и работу HTML-тегов в карточках постов "Обычный" виджета "Вывод статей" */
add_filter( 'root_widget_article_normal_excerpt_strip_tags', '__return_false' );
root_widget_article_normal_excerpt
filter / Позволяет изменять кол-во символов в описании записей карточек постов “Обычный” виджета “Вывод статей”. Кол-во слов 50 можно изменить на другое.
/* Изменить кол-во символов в описании записей карточек постов "Обычный" виджета "Вывод статей" */
add_filter( 'root_widget_article_normal_excerpt', function() {
return 50;
} );
root_widget_article_compact_thumbnail
filter / По умолчанию в карточках постов “Компактно” виджета “Вывод статей” выводятся миниатюры 100х100 пикселей. С помощью данного фильтра можно изменить размеры данных миниатюр.
/* Изменить размеры миниатюр в карточках постов "Компактно" виджета "Вывод статей" */
add_filter( 'root_widget_article_compact_thumbnail', function() {
return [ 100, 100, true ]; // ширина, высота, обрезать картинку true/false
} );
root_widget_article_compact_excerpt_strip_tags
filter / По умолчанию, в отрывках карточек постов “Компактно” виджета “Вывод статей” удаляются все теги. С помощью данного фильтра можно включить переносы строк и работу HTML-тегов.
/* Включить переносы строк и работу HTML-тегов в карточках постов "Компактно" виджета "Вывод статей" */
add_filter( 'root_widget_article_compact_excerpt_strip_tags', '__return_false' );
root_widget_article_compact_excerpt
filter / Позволяет изменять кол-во символов в описании записей карточек постов “Компактно” виджета “Вывод статей”. Кол-во слов 50 можно изменить на другое.
/* Изменить кол-во символов в описании записей карточек постов "Компактно" виджета "Вывод статей" */
add_filter( 'root_widget_article_compact_excerpt', function() {
return 50;
} );
Хуки встроенных модулей
Список хуков, с помощью которых можно добавить или изменить элементы встроенных модулей.
wpshop_spoiler_title
filter / Позволяет изменить заголовок встроенного спойлера по умолчанию, если он не задан. Значение по умолчанию: ‘Показать скрытое содержимое’.
/* Изменить заголовок встроенного спойлера по умолчанию */
add_filter( 'wpshop_spoiler_title', function() {
return 'Здесь вставьте нужный заголовок';
} );
wpshop_sitemap_pages_header
filter / Позволяет изменить заголовок страниц в встроенной карте сайта. Значение по умолчанию: ‘Страницы’.
/* Изменить заголовок страниц в встроенной карте сайта */
add_filter( 'wpshop_sitemap_pages_header', function() {
return 'Здесь вставьте нужный заголовок';
} );
root_metabox_thumbnail_post_type
filter / Позволяет добавить блок “Настройки миниатюры” в окно редактирования записи произвольного типа поста, с возможностью вывода разных типов миниатюр на странице записи. Значение по умолчанию: [ ‘post’, ‘page’ ].
/* $post_type - название произвольного типа постов */
add_filter( 'root_metabox_thumbnail_post_type', function() {
return [ 'post', 'page', '$post_id' ];
} );
root_metabox_hide_elements_post_type
filter / Позволяет добавить блок “Root: Настройки записи” в окно редактирования записи произвольного типа поста. Значение по умолчанию: [ ‘post’ ].
/* $post_type - название произвольного типа постов */
add_filter( 'root_metabox_hide_elements_post_type', function() {
return [ 'post', '$post_id' ];
} );
wpshop_rating_markup
filter / Позволяет включить микроразметку встроенного рейтинга. По правилам Google, микроразметку рейтинга для обычных записей добавлять нельзя, только для типов записей Рецепт, Товары и т.д.
/* Включить микроразметку встроенного рейтинга */
add_filter( 'wpshop_rating_markup', function () {
return 'schema';
} );
wpshop_microdata_publisher_output
filter / Позволяет изменить микроразметку Organization.
/* Изменить микроразметку https://schema.org/Organization */
add_filter( 'wpshop_microdata_publisher_output', function () {
return 'Здесь вставьте код микроразметки';
} );
root_style_version
filter / Позволяет отключить вывод номер версии темы, который служит для того, чтобы обновлять CSS и JS у всех посетителей при обновлении темы.
/* Убрать номер версии ?ver= у css и js файлов */
add_filter( 'root_style_version', function() {
return null;
} );
Отключить вывод “Техническая поддержка” в верхней панели
/* Отключить вывод "Техническая поддержка" в верхней панели */
add_action( 'init', function() {
remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
} );