WordPress — PHP: Как извлечь () значения из ассоциативного массива с дефисами / тире в их ключах?

Я имею в виду этот вопрос. Это возможно extract() значения из ассоциативного массива с дефисами / тире в их ключах к настоящему времени?

Это о старой версии WordPress Shortcode API. Пример:

function bartag_func( $atts ) {
extract( shortcode_atts( array(
'foo-bar' => 'something'
), $atts ) );

return "foo = ${foo-bar}";
}
add_shortcode( 'bartag', 'bartag_func' );

1

Решение

Это все еще невозможно. Однако для движка PHP.net у меня есть обсуждаемый RFC это сделало бы это возможным в PHP 8.

3

Другие решения

shortcode_atts возвращает массив, так что просто используйте его.

function bartag_func( $atts ) {
$params = shortcode_atts( array(
'foo-bar' => 'something'
), $atts ) );

return "foo = " . $params['foo-bar'];
}
add_shortcode( 'bartag', 'bartag_func' );
4

По вопросам рекламы [email protected]