Главная Новости

Shortcode_atts_(shortcode) — Фильтрует дефолтные атрибуты указанного шорткода. Хук-фильтр WordPress

Опубликовано: 01.09.2018

видео shortcode_atts_(shortcode) — Фильтрует дефолтные атрибуты указанного шорткода. Хук-фильтр WordPress

Что такое хук и апперкот

Фильтрует дефолтные атрибуты указанного шорткода.

Фильтры вызывается в функции 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; }

Где используется хук

... /** * Filters a shortcode's default attributes. * * If the third parameter of the shortcode_atts() function is present then this filter is available. * The third parameter, $shortcode, is the name of the shortcode. * * @since 3.6.0 * @since 4.4.0 Added the `$shortcode` parameter. * * @param array $out The output array of shortcode attributes. * @param array $pairs The supported attributes and their defaults. * @param array $atts The user defined shortcode attributes. * @param string $shortcode The shortcode name. */ if ( $shortcode ) { $out = apply_filters( "shortcode_atts_{$shortcode}", $out, $pairs, $atts, $shortcode ); } return $out; } /** * Remove all shortcode tags from the given content. * * @since 2.5.0 * * @global array $shortcode_tags * * @param string $content Content to remove shortcode tags. * @return string Content without shortcode tags. */ ...
rss