Intereting Posts
Как можно преобразовать пользовательский тип сообщения в формат сообщения? Как добавить всплывающее сообщение для нового сообщения без панели администратора? Вращающееся изображение не работает для пользовательских размеров изображений Авто сортировать отдельную категорию по новизне (одна категория не всех) Интеллектуальный плагин навигации и пользовательские таксономии Получать данные о записи / странице вне цикла Установите jpeg_quality для определенных пост-типов Используйте wp_enqueue_style на основе пользовательской опции в виджетах двадцатьнадцать h1 и h2 не изменяют размерность Пользовательский реестр PHP в Редактировать сообщение Переключитесь на вкладку библиотеки в загрузчике мультимедиа Добавить пост переписывать постоянную ссылку с предыдущего поста в 4.6 Отключить родительский аккаунт в wp_list_pages – WordPress Множественная база базового слизняка на странице архива категорий

Вставьте настраиваемое поле в короткий код и используйте его в сообщениях (-ах)

Я хотел бы вставить специальное поле в короткий код и использовать его в post (s). Я хочу, чтобы короткий код использовался с параметрами. Я попытался решить эту проблему, но вместо слова «Массив» вместо значения настраиваемого поля отображается:

function get_my_custom_field( $atts ) { global $post; return get_post_meta( $post->ID, $field, true ); } add_shortcode( 'insert-custom-field', 'get_my_custom_field' ); 

Штрих-код, присутствующий в сообщении:

 [insert-custom-field field="price"] 

Solutions Collecting From Web of "Вставьте настраиваемое поле в короткий код и используйте его в сообщениях (-ах)"

Как я уже сказал в комментариях, extract() никогда не должен использоваться. Он был удален из ядра и кодекса по очень конкретным причинам, и использование там строго не рекомендуется в будущих приложениях и функциях. Для получения полной информации см. Билет на трафик № 22400 .

Как указано выше, код также был соответствующим образом обновлен, поэтому вы можете посмотреть примеры, приведенные в API Shortcode, о том, как создать правильный короткий код .

Имея это в виду, вы можете создать свой короткий код следующим образом:

 function get_my_custom_field( $atts ) { $attributes = shortcode_atts( array( 'field' => ''; ), $atts ); global $post; if ( empty( $attributes['field'] ) ) return null; return get_post_meta( $post->ID, $attributes['field'], true ); } add_shortcode( 'insert-custom-field', 'get_my_custom_field' ); 

РЕДАКТИРОВАТЬ

Возможно, вам захочется также дезинфицировать входные данные в соответствии с вашими данными. Я оставлю это до вас, так как я точно не знаю, какие данные будут переданы

$atts не извлекает автоматическое, попробуйте это перед вызовом global $post

  extract(shortcode_atts(array( 'field' => '',//#Default value or null ), $atts)); 

Этот код extract $atts к одиночным переменным, см. Больше в Codex .