shortcode_parse_atts()
Парсит аргументи Шоткод передані у вигляді рядка.
Переданий рядок повинен містити лише аргументи у вигляді пари ключ="значение", без імені шоткода та його дужок.
Працює на основі:
get_shortcode_atts_regex()
get_shortcode_atts_regex()
1 раз – 0.000195 сек
(швидко) | 50000 разів – 0.07 сек
(швидкість світла)
(швидко) | 50000 разів – 0.07 сек
(швидкість світла)
Хуків немає.
Повертає
Массив|Строку. Список атрибутів і значення у вигляді масиву.
- Поверне порожній масив при
trim( $text ) == '""'. - Поверне порожній рядок при
trim( $text ) == ''. - Решта збіги перевіряються через empty() .
Використання
shortcode_parse_atts($text);
- $text
(рядок) (обов’язковий) - Рядок атрибутів шоткоду. Наприклад:
module="WP" foo='bar'.
Приклади
#1 Демонстрація роботи функції
$res = shortcode_parse_atts( ' module="WP" bar="" foo='bar'' ); print_r ($ res); /* Array [module] => WP [bar] => [foo] => bar */
#2 Виріжемо та розберемо параметри шоткоду
Приклад того, як можна вирізати рядок параметрів шорткоду та розпарити її на окремі ключ=значение.
$str = <<<'STR'
Контент
[five_element name="big badaboom" ident="multipassport" foo='bar']
Ще Контент
STR;
// для цієї перевірки шоткод повинен бути зареєстрований WP, див: add_shortcode()
if( ! has_shortcode( $str, 'five_element' ) ){
echo 'Шоткод не знайдено';
}
preg_match( '~[five_element(.+)]~s', $str, $mm );
$res = shortcode_parse_atts( $mm[1] );
print_r ($ res);
/*
Array
(
[name] => big badaboom
[ident] => multipassport
[foo] => bar
)
*/
список змін
| З версії 2.5.0 | Введено. |