Intereting Posts
URL-адреса, основанные на дате для пользовательских сообщений и разбивки на страницы Post_per_page -1 возвращает только половину результатов Я ищу хорошие ссылки (руководства) Не удалось найти каталог содержимого WordPress (wp-content) Добавить пользователя 'Creator' Meta при добавлении пользователя Попытка изменить отображаемое изображение с 180×180 до полной ширины на главной странице Как отобразить WP-массив из массива? Масштабирование логотипа заголовка Добавить несколько продуктов в корзину woocommerce Тип почтовой отправки по сумме двух настраиваемых полей Не удалось обновить базовое обновление WordPress – никаких проблем с обновлениями плагина Вкладка «Тема-Конфиг» в панели администрирования? Создание короткого кода WordPress с переменной Как отображать только выдержку содержимого с пользовательскими типами сообщений? Страница, созданная с URL-адресом блога, перенаправляется на страницу сообщений, как мне это остановить?

Переопределение значений атрибутов в плагинах 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 ( см. Здесь ).