В тему Yelly добавлены хуки: события (action) и фильтры (filter). С их помощью Вы можете добавлять свой код, изменять вывод или даже убирать какие-то блоки. Ниже идет описание хуков и примеры их использования.
Лучше всего для этого использовать плагин ProFunctions, установите и добавьте в него нужный код.
Для событий action
Для добавления события необходимо использовать ф-цию add_action()
,
первый аргумент которой — название события в теме, например yelly_after_header
второй аргумент — функция, которая будет вызвана.
Например:
add_action( 'yelly_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;
} );
yelly_metabox_thumbnail_post_type
filter / Позволяет добавить блок “Настройки миниатюры” в окно редактирования записи произвольного типа поста, с возможностью вывода разных типов миниатюр на странице записи.
/**
* $post_type - название произвольного типа постов
*/
add_filter( 'yelly_metabox_thumbnail_post_type', function() {
return [ 'post', 'page', '$post_id' ];
} );
yelly_metabox_hide_elements_post_type
filter / Позволяет добавить блок “Скрыть элементы” в окно редактирования записи произвольного типа поста.
/**
* $post_type - название произвольного типа постов
*/
add_filter( 'yelly_metabox_hide_elements_post_type', function() {
return [ 'post', '$post_id' ];
} );
Хуки встроенной контактной формы
yelly_contact_form_fields
filter / Позволяет настроить вывод полей в форме обратной связи. Ниже пример добавления поля Телефон к форме обратной связи.
/**
* Изменить поля в форме обратной связи
*
* name - ID поля - латинские, цифры, минус, нижнее подчеркивание
* type - type у input, по умолчанию text, может быть email, number и т.д
* placeholder - описание у поля, можно на русском
* required - может быть равно required, если обязательное поле
* tag - может быть textarea, по умолчанию input
*/
add_filter( 'yelly_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',
],
];
} );
wpshop_contact_form_url_from
filter / Позволяет изменять адрес страницы в письме, с которой было отправлено письмо.
wpshop_contact_form_button_text
filter / Позволяет изменять текст кнопки “Отправить” в форме обратной связи.
Хуки карточек постов
При загрузке картинки в админку, для неё автоматически генерируются миниатюры:
yelly_standard — 775×500
yelly_small — 345×230
yelly_square — 100х100
При этом картинки пропорционально уменьшаются и обрезаются. Если вам нужен другой размер миниатюры, воспользуйтесь хуками ниже.
yelly_image_size_standard
filter / Позволяет изменить размер стандартных миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 775×500.
/**
* Изменить размеры стандартных миниатюр в карточках постов
*/
add_filter( 'yelly_image_size_standard', function() {
return [ 775, 500, true ]; // ширина, высота, обрезать картинку true/false
} );
Не забудьте перегенерировать миниатюры.
yelly_image_size_small
filter / Позволяет изменить размер маленьких миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 345×230.
/**
* Изменить размеры маленьких миниатюр в карточках постов
*/
add_filter( 'yelly_image_size_small', function() {
return [ 345, 230, true ]; // ширина, высота, обрезать картинку true/false
} );
Не забудьте перегенерировать миниатюры.
yelly_image_size_square
filter / Позволяет изменить размер квадратных миниатюр в карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 100×100.
/**
* Изменить размеры квадратных миниатюр в карточках постов
*/
add_filter( 'yelly_image_size_square', function() {
return [ 100, 100, true ]; // ширина, высота, обрезать картинку true/false
} );
Не забудьте перегенерировать миниатюры.
Кроме изменения размера, вы можете заменить тип миниатюры в любой из карточек. Например, для типа Сетка (grid) вывести миниатюры размера yelly_standard, вместо yelly_small. Или даже указать любой из размеров WordPress (thumbnail, meduim, large, full). Ниже приведен код для каждой карточки.
yelly_post_card_vertical_thumbnail_size
filter / По умолчанию в карточках постов “Вертикальная” выводятся маленькие миниатюры 345х230 пикселей (yelly_small). С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 775х500 (yelly_standard) или квадратные 100х100 пикселей (yelly_square).
/**
* Изменить вывод миниатюр в карточках постов "Вертикальная"
* Размеры миниатюр: yelly_standard, yelly_small, yelly_square или стандартный WP
*/
add_filter( 'yelly_post_card_vertical_thumbnail_size', function() {
return 'yelly_standard'; // замените тут размер
} );
yelly_post_card_horizontal_thumbnail_size
filter / По умолчанию в карточках постов “Горизонтальная” выводятся маленькие миниатюры 345х230 пикселей (yelly_small). С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 775х500 (yelly_standard) или квадратные 100х100 пикселей (yelly_square).
/**
* Изменить вывод миниатюр в карточках постов "Горизонтальная"
* Размеры миниатюр: yelly_standard, yelly_small, yelly_square или стандартный WP
*/
add_filter( 'yelly_post_card_horizontal_thumbnail_size', function() {
return 'yelly_standard'; // замените тут размер
} );
yelly_post_card_square_thumbnail_size
filter / По умолчанию в карточках постов “Маленькая” выводятся квадратные миниатюры 100х100 пикселей (yelly_square). С помощью данного фильтра можно изменить вывод миниатюр в данных карточках постов на стандартные 775х500 (yelly_standard) или маленькие 345х230 пикселей (yelly_small).
/**
* Изменить вывод миниатюр в карточках постов "Маленькая"
* Размеры миниатюр: yelly_standard, yelly_small, yelly_square или стандартный WP
*/
add_filter( 'yelly_post_card_square_thumbnail_size', function() {
return 'yelly_standard'; // замените тут размер
} );
yelly_post_card_related_thumbnail_size
filter / По умолчанию в похожих записях выводятся маленькие миниатюры 345х230 пикселей (yelly_small). С помощью данного фильтра можно изменить вывод миниатюр в похожих записях на стандартные 775х500 (yelly_standard) или квадратные 100х100 пикселей (yelly_square).
/**
* Изменить вывод миниатюр в похожих записях
* Размеры миниатюр: yelly_standard, yelly_small, yelly_square или стандартный WP
*/
add_filter( 'yelly_post_card_related_thumbnail_size', function() {
return 'yelly_standard'; // замените тут размер
} );
yelly_section_posts_categories_title
filter / По умолчанию в блоках “Вывод постов” встроенного конструктора главной выводится заголовок “Подразделы” для подрубрик. С помощью данного фильтра можно изменить данный заголовок.
add_filter( 'yelly_section_posts_categories_title', function() {
return 'Здесь добавьте нужный заголовок';
} );
yelly_after_post_card
action / Позволяет выводить любой код после карточек постов. Например, чтобы разместить какой-то код/блок на главной после 2 поста. При этом у функции есть 2 параметра: $n
– порядковый номер карточки поста и $type
– тип карточки поста.
/**
* $n - порядковый номер карточки после
* $type - тип карточки поста: grid, standard, horizontal, small, vertical и related
*/
add_action( 'yelly_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 == 'vertical' ) {
echo '<div style="width: 100%;background:#eee;padding: 15px;margin: 10px 0 20px;">Блок после 3 карточки типа standard</div>';
}
}, 10, 2 );
Хуки шапки и верхнего меню
Список хуков, с помощью которых можно добавить или изменить элементы шапки и верхнего меню.
yelly_after_body
action / Позволяет вывести любой код сразу после тега
yelly_before_header
action / Позволяет вывести любой код перед шапкой сайта
yelly_logotype_alt
action / Позволяет изменить атрибут alt у картинки логотипа
yelly_before_main_navigation
action / Позволяет вывести любой код перед меню под шапкой
yelly_after_main_navigation
action / Позволяет вывести любой код после меню под шапкой
yelly_after_header
action / Позволяет вывести любой код после шапки сайта
yelly_before_site_content
action / Позволяет вывести любой код перед контентом сайта
Хуки записей
Список хуков, с помощью которых можно добавить или изменить элементы в записи.
yelly_single_before_title
action / Позволяет вывести любой код перед названием записи на странице записи
yelly_single_after_title
action / Позволяет вывести любой код после названия записи на странице записи
yelly_single_before_excerpt
action / Позволяет вывести любой код перед отрывком записи на странице записи
yelly_single_after_excerpt
action / Позволяет вывести любой код после отрывка записи на странице записи
yelly_single_after_the_content
action / Позволяет вывести любой код после контента на странице записи
yelly_single_before_social
action / Позволяет вывести любой код перед блоком нижних соц. кнопок на странице записи
yelly_single_after_social
action / Позволяет вывести любой код после блока нижних соц. кнопок на странице записи
yelly_single_before_related
action / Позволяет вывести любой код перед блоком похожих записей на странице записи
yelly_single_after_related
action / Позволяет вывести любой код после блока похожих записей на странице записи
Хуки страниц
Список хуков, с помощью которых можно добавить или изменить элементы на странице.
yelly_page_before_title
action / Позволяет вывести любой код перед названием страницы.
yelly_page_after_title
action / Позволяет вывести любой код после названия страницы.
yelly_page_after_the_content
action / Позволяет вывести любой код после контента страницы.
Хуки страниц архивов
Список хуков, с помощью которых можно добавить или изменить элементы на страницах архивов.
yelly_archive_before_title
action / Позволяет вывести любой код перед названием страницы архива.
yelly_archive_after_title
action / Позволяет вывести любой код после названия страницы архива.
yelly_archive_before_posts
action / Позволяет вывести любой код перед карточками постов на странице архива.
yelly_archive_after_posts
action / Позволяет вывести любой код после карточек постов на странице архива.
Хуки подвала и нижнего меню
Список хуков, с помощью которых можно добавить или изменить элементы подвала и нижнего меню.
yelly_after_site_content
action / Позволяет вывести любой код после контента сайта
yelly_before_footer
action / Позволяет вывести любой код перед подвалом сайта
yelly_after_footer
action / Позволяет вывести любой код после подвала сайта
Хуки слайдера
yelly_slider_output
filter / Позволяет изменить условия вывода встроенного слайдера на страницах.
yelly_slider_three_count
filter / Позволяет изменить кол-во слайдов в слайдере “Три слайда”.
yelly_slider_excerpt
filter / Позволяет изменить кол-во символов описания записей.
Хуки встроенных виджетов
yelly_widget_article_normal_thumbnail
filter / Позволяет изменять размер миниатюр в виджете “Вывод статей”.
yelly_widget_article_compact_thumbnail
filter / Позволяет изменять размер миниатюр в виджете “Вывод статей”.
yelly_widget_article_normal_excerpt
filter / Позволяет изменять кол-во символов в описании записей виджета “Вывод статей”.
yelly_widget_article_compact_excerpt
filter / Позволяет изменять кол-во символов в описании записей виджета “Вывод статей”.
Дополнительные хуки
Список хуков, с помощью которых можно добавить или изменить элементы встроенных модулей.
yelly_style_version
filter / Содержит в себе номер версии темы, служит для того, чтобы обновлять CSS и JS у всех посетителей при обновлении темы. Можно отключить кодом ниже:
/**
* Убрать номер версии ?ver= у css и js файлов
*/
add_filter( 'yelly_style_version', function() {
return null;
} );
Отключаем вывод Техническая поддержка в верхней панели
/**
* Отключить вывод в верхней панели Техническая поддержка
*/
add_action( 'init', function() {
remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
} );