Хуки Root

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

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

Для событий action

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

add_action( 'root_after_header', 'add_hello' );

Теперь необходимо добавить функцию add_hello, которая выведет на экран Hello:

function add_hello() {
    echo 'Hello';
}

Для фильтров filter

Все аналогично, только вместо add_action используем add_filter.

Ниже будут примеры готового куда для некоторых хуков:

root_social_share_buttons

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

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

root_thumb_wide_sizes

filter / Позволяет изменить размер миниатюр в похожих записях и маленьких карточках постов. Ширина, высота, кадрирование (true/false). По умолчанию: 330×140. Не забудьте перегенерировать миниатюры.

/**
 * Изменить размеры миниатюр в похожих записях и в маленьких карточках постов
 */
add_filter( 'root_thumb_wide_sizes', 'root_thumb_wide_sizes_function' );
function root_thumb_wide_sizes_function() {
    return array( 330, 170, true );
}

root_style_version

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

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

root_contact_form_before_button

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

/**
 * Добавить текст про обработку персональных данных в форму обратной связи
 */
add_action( 'root_contact_form_before_button', 'root_contact_form_before_button_function' );
function root_contact_form_before_button_function() {
    echo '<div style="font-size: 85%;margin-bottom: 15px;">Нажимая на кнопку "Отправить", я даю согласие на <a href="#">обработку персональных данных</a> и принимаю <a href="#">политику конфиденциальности</a>.</div>';
}

root_customizer_styles_position

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

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

root_customizer_styles_priority

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

add_filter( 'root_customizer_styles_priority', 'root_customizer_styles_priority_function' );
function 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', 'remove_wp_admin_bar_support' );
function remove_wp_admin_bar_support(){
    remove_action( 'wp_before_admin_bar_render', 'wp_admin_bar_support' );
}

root_excerpt_length

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

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

root_excerpt_more

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

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

root_single_before_social

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

root_single_after_social

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