Intereting Posts
Как и где я могу проверить свою meta_data Где хранятся конфигурации виджетов? Удалите wpautop из всех сообщений / страниц, кроме моего настраиваемого типа сообщения Может ли таблица wp_posts иметь один и тот же пул (post_name) в нескольких статусах (post_status)? Разрешить пользовательскому классу сохранять страницу в виде черновика, но не публиковать без одобрения администратора Оберните X количество столбцов таксономии в отдельной строке в WordPress Как мне потребовать файл в коротком коде? Интернационализация строк с html-тегами и номерами в WordPress Показать метабокс на конкретном шаблоне страницы Включены ли стили, включенные в таблицу стилей, с помощью add_editor_style, загруженной в интерфейс? Различные предварительные настройки Функция API-интерфейса Customizer is_customize_preview () работает только на главной странице? Блокировка двигателей Seacrh для всех страниц EXCEPT homepage Есть ли стиль по умолчанию style.css Плагин для галереи с эскизами?

Вставить параметр Shortcode в шаблон

Я пытаюсь подтолкнуть значение параметра shortcode к файлу шаблона, но по какой-то причине я не могу получить значение массива, которое я нацеливаю на одну переменную. Вот мой код и короткий код, который я использую:

function content_table($atts) { $atts = shortcode_atts(array( 'tablepageid' => '' ), $atts); include(locate_template('table-layout.php')); } add_shortcode('ContentTable', 'content_table'); 

Редактировать Я удалил кавычки из моего короткого кода, и теперь я могу видеть это значение: [ContentTable tablepageid = 4799]

Я создал страницу для проверки функции короткого кода:

 print_r(array_values($atts)); Array ( [0] => 4799 ) 

Значение из короткого кода доступно, но у меня возникли проблемы с получением значения в переменной для моего шаблона:

 $arr = $atts[0]; 

Переменная $ arrTable пуста … Я не могу понять, почему это не 4799.

Вероятно, вас смущает вывод array_values() который всегда будет получать только значения массива без ключей, в то время как переменная $atts самом деле является ассоциативным массивом.

Для извлечения вашего атрибута используйте $arr = $atts['tablepageid'];

ура

Короткие коды предназначены для return значений или их echo сигналов. Вы можете использовать include в файл, который у вас есть, но если вы не будете использовать предполагаемые $atts функции там, вы ничего не увидите.

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

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

Список содержится в PHP. Если вы покажете свой файл include, это поможет.