Хуки

В тему 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 array( 'h1', 'h2', 'h3', 'h4', 'h5' );
} );

wpshop_toc_minimum_headers

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

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

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',
        ],
    ];
} );

yelly_metabox_thumbnail_post_type

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

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

yelly_metabox_hide_elements_post_type

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

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

Миниатюры

При загрузке картинки в админку, для неё автоматически генерируются миниатюры:

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
 */
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 / Позволяет вывести любой код после блока нижних соц. кнопок на странице записи

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

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 / Позволяет вывести любой код после контента сайта

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

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

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

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

yelly_style_version

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

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

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

/**
 * Отключить вывод в верхней панели Техническая поддержка
 */
add_action( 'init', function() {
    remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
} );
  • Для событий action
  • Для фильтров filter
  • Хуки встроенных модулей
  • wpshop_toc_headers
  • wpshop_toc_minimum_headers
  • yelly_contact_form_fields
  • yelly_metabox_thumbnail_post_type
  • yelly_metabox_hide_elements_post_type
  • Миниатюры
  • yelly_image_size_standard
  • yelly_image_size_small
  • yelly_image_size_square
  • Миниатюры в карточках постов
  • yelly_post_card_vertical_thumbnail_size
  • yelly_post_card_horizontal_thumbnail_size
  • yelly_post_card_square_thumbnail_size
  • yelly_post_card_related_thumbnail_size
  • Хуки карточек постов
  • yelly_section_posts_categories_title
  • yelly_after_post_card
  • Хуки шапки и верхнего меню
  • yelly_after_body
  • yelly_before_header
  • yelly_logotype_alt
  • yelly_before_main_navigation
  • yelly_after_main_navigation
  • yelly_after_header
  • yelly_before_site_content
  • Хуки записей
  • yelly_single_before_title
  • yelly_single_after_title
  • yelly_single_before_excerpt
  • yelly_single_after_excerpt
  • yelly_single_after_the_content
  • yelly_single_before_social
  • yelly_single_after_social
  • yelly_single_before_related
  • yelly_single_after_related
  • Хуки страниц
  • yelly_page_before_title
  • yelly_page_after_title
  • yelly_page_after_the_content
  • Хуки страниц архивов
  • yelly_archive_before_title
  • yelly_archive_after_title
  • yelly_archive_before_posts
  • yelly_archive_after_posts
  • Хуки подвала и нижнего меню
  • yelly_after_site_content
  • yelly_before_footer
  • yelly_after_footer
  • Дополнительные хуки
  • yelly_style_version
  • Отключаем вывод Техническая поддержка в верхней панели