shortcode_parse_atts()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
shortcode_parse_atts( string $text ): array
Описание
В списке атрибутов имя атрибута является ключом, а значение атрибута — значением в паре ключ/значение. Это упрощает получение атрибутов, поскольку все атрибуты должны быть известны.
Оригинал (английский)
The attributes list has the attribute name as the key and the value of the attribute as the value in the key/value pair. This allows for easier retrieval of the attributes, since all attributes have to be known.
Параметры
$text
string
обязательный
Возвращаемое значение
array
Исходный код
wp-includes/shortcodes.php:613
function shortcode_parse_atts( $text ) {
$atts = array();
$pattern = get_shortcode_atts_regex();
$text = preg_replace( "/[\x{00a0}\x{200b}]+/u", ' ', $text );
if ( preg_match_all( $pattern, $text, $match, PREG_SET_ORDER ) ) {
foreach ( $match as $m ) {
if ( ! empty( $m[1] ) ) {
$atts[ strtolower( $m[1] ) ] = stripcslashes( $m[2] );
} elseif ( ! empty( $m[3] ) ) {
$atts[ strtolower( $m[3] ) ] = stripcslashes( $m[4] );
} elseif ( ! empty( $m[5] ) ) {
$atts[ strtolower( $m[5] ) ] = stripcslashes( $m[6] );
} elseif ( isset( $m[7] ) && strlen( $m[7] ) ) {
$atts[] = stripcslashes( $m[7] );
} elseif ( isset( $m[8] ) && strlen( $m[8] ) ) {
$atts[] = stripcslashes( $m[8] );
} elseif ( isset( $m[9] ) ) {
$atts[] = stripcslashes( $m[9] );
}
}
// Reject any unclosed HTML elements.
foreach ( $atts as &$value ) {
if ( str_contains( $value, '<' ) ) {
if ( 1 !== preg_match( '/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value ) ) {
$value = '';
}
}
}
}
return $atts;
}
История изменений
| Версия | Описание |
|---|---|
| 6.5.0 | The function now always returns an array, even if the original arguments string cannot be parsed or is empty. |
| 2.5.0 | Introduced. |

