Intereting Posts
date_query показывает повторяющиеся результаты Руководство пользователя пользовательского интерфейса WordPress 3.2 Какой самый высокий тормоз безопасности с wordpress и статическими файлами? Поймать собственные исключения Можно ли использовать вывод Shortcode в качестве значения атрибута HTML? Как добавить собственный CSS-класс во ВСЕ ссылки Как я могу программно сохранять данные в пользовательские поля, содержащие сериализованные данные? Отображать дочерние страницы в боковой панели исходной страницы в wordpress WordPress JSON API возвращает нормальную страницу сайта в html. Как мне заставить его дать JSON? Как добавить приватную страницу пользователя из sql? поле темы темы mailchimp Измените заголовок результатов поиска из плагина Изменить заголовок страницы из плагина Я хочу удалить, отключить или скрыть ссылки авторов комментариев на свои сайты с моей домашней страницы Использование API REST WordPress и WooCommerce в одном приложении Node

Переопределение значений атрибутов в плагинах Shortcode

Я сделал некоторые плагины для коротких кодов в соответствии с моей потребностью. Но на этот раз я получаю странную проблему. Мои атрибуты в коротком коде не получают значения, записанные в коротком коде при их выполнении, вместо этого я получаю только установленные значения по умолчанию. Пожалуйста помогите.

add_shortcode('wi_form' , 'wi_form_func'); function wi_form_func($input) { extract(shortcode_atts( array( 'productName' => 'Java', 'productPrice' => 1000 ), $input)); return $productName . esc_attr($productPrice); } 

Solutions Collecting From Web of "Переопределение значений атрибутов в плагинах Shortcode"

Попытайтесь не использовать заглавные буквы в атрибутах короткого кода, используйте, например,

 [wi_form product_name="php" product_price="888" ] 

где:

 add_shortcode( 'wi_form' , 'wi_form_func' ); function wi_form_func($input) { extract(shortcode_atts( array( 'product_name' => 'Java', 'product_price' => 1000 ), $input)); return $product_name . esc_attr( $product_price ); } 

или это:

 add_shortcode( 'wi_form' , 'wi_form_func' ); function wi_form_func($input) { $input = shortcode_atts( array( 'product_name' => 'Java', 'product_price' => 1000 ), $input ); return $input['product_name'] . esc_attr( $input['product_price'] ); } 

если вы не хотите использовать extract :

Обновить:

Атрибуты strtolower() проходят через strtolower() в функции shortcode_parse_atts() которая извлекает их из тега shortcode ( см. Здесь ).