shortcode_atts()
Обробляє атрибути (параметри) шорткоду: додає значення за промовчанням, коли потрібно і видаляє невідповідні атрибути.
Результат буде містити ключі зі значення атрибутів з $atts , які є в $pairs . Тобто. $pairs — це параметри за замовчуванням, а $atts параметри, що передаються. У параметрах, що передаються, не може бути ключів, яких немає в дефолтних. Це свого роду білий список атрибутів шорткоду.
Читайте обов’язково: Створення шорткоду в WordPress
Опис та приклади у відео-форматі:
Хуки з функції
Повертає
Массив
. Зібраний та відфільтрований список атрибутів.
Використання
shortcode_atts($pairs, $atts, $shortcode);
-
$pairs
(масив) (обов’язковий) Асоціативний масив, який описує можливі атрибути шорткоду (це ключі масиву) та їх дефолтні значення.
ВАЖЛИВО! Ключі масиву $defaults мають бути у lower-case . Не використовуйте camelCase або UPPER-CASE , тому що в $atts ключі завжди у lower-case .
-
$atts
(масив) (обов’язковий) Неочищений масив з даними, що були вказані у шорткоді. Вони порівнюватимуть із масивом вище.
$atts міститиме масив аргументів шорткоду, які були вказані користувачем.
Якщо вказати значення без назви параметра, вони будуть додані в індексні елементи масиву. Наприклад для шорткоду
[name value attr="val2" val3]
отримаємо:Array ( [0] => value [attr] => val2 [1] => val3 )
Імена атрибутів (ключі масиву $atts ) завжди конвертуються на lower-case (нижній регістр), значення не обробляються. Наприклад, якщо ми вказали шорткод так
[myshortcode FOO="BAR"]
, то $atts отримаємо[ 'foo' => 'BAR' ]
.-
$shortcode
(рядок) Назва шоткоду, який використовуватиметься у фільтрі: shortcode_atts_{$shortcode} .
З версії 3.6. передає параметр $atts у фільтр shortcode_atts_{$shortcode} , якщо вказано параметр $shortcode .
За замовчуванням: ”
Приклади
#1 Додавання шорткоду
Створимо новий шоткод [bartag] з атрибутами foo та bar: [bartag foo=”something” bar=”something else”]
add_shortcode('bartag', 'shortcode_callback'); function shortcode_callback( $atts ) { $ atts = shortcode_atts (array ( 'foo' => 'no foo', 'bar' => 'default bar', ), $ atts, 'bartag'); return 'bartag: '. esc_html($atts['foo']) . ''. esc_html($atts['bar']); } // в результаті шоткод: [bartag foo="koala" bar="bears"] // виведе: bartag: koala bears
Обидва атрибути шоткоду довільні і якщо вони не вказані в шоткоді, будуть містити значення за замовчуванням.
список змін
З версії 2.5.0 | Введено. |