Shortcode_atts_(shortcode) — Фильтрует дефолтные атрибуты указанного шорткода. Хук-фильтр WordPress
Опубликовано: 01.09.2018
Фильтрует дефолтные атрибуты указанного шорткода.
Фильтры вызывается в функции shortcode_atts() , только в том случае если в ней указан третий параметр $shortcode (название шорткода). Т.е. если функция вызывается для реального шорткода, например смотрите код шорткода gallery_shortcode() .
Базовые варианты хука:
shortcode_atts_gallery shortcode_atts_caption shortcode_atts_playlist shortcode_atts_audio shortcode_atts_videoО хуке и функции shortcode_atts() в видеоформате:
Использование
add_filter( 'shortcode_atts_{$shortcode}', '____filter_function_name', 10, 4 ); function ____filter_function_name( $out, $pairs, $atts, $shortcode ) { // Фильтр... return $out; } $out(массив) Ассоциативный массив атрибутов шорткода, который будет изменяться при фильтрации. $pairs(массив) Массив всех возможных атрибутов шорткода и их значения по умолчанию. $atts(массив) Атрибуты указанные для шорткода пользователем. $shortcode(строка) Название шорткода, например gallery. Это название указывается в название этого фильтра, в конце.Примеры
#1 Изменим количество колонок галереи по умолчанию
По умолчанию в галереи установлено 3 колонки, а нам нужно сделать 2. Т.е. если в тексте шорткод указан так [gallery_ ids="54,65,65"], то картинки будут выведены в 3 колонки, а нам нужно сделать в 2 колонки.
Что такое Taxonomy. Функция register_taxonomy()
Для этого используем хук shortcode_atts_gallery и добавим получившийся код в файл темы functions.php
## Установим две колонки в галереи по умолчанию add_filter('shortcode_atts_gallery', 'set_default_gallery_columns', 10, 3); function set_default_gallery_columns( $out, $pairs, $atts ){ // изменим значение по умолчанию, если значение не установлено if( ! isset($atts['columns']) ){ $out['columns'] = 2; } return $out; }