Intereting Posts
выдержка – не используйте основное содержимое, если пустое 404 постоянных ошибок на страницах только Применение jquery к администратору WordPress edit.php Удаление определенного продукта из магазина в woocommerce Есть ли модуль подписки на электронную почту, который позволяет пользователю выбирать категорию? Как плагины могут иметь свои собственные страницы? Преобразование всех дат, хранящихся в настраиваемом поле добавить элемент заголовка на основе содержимого короткого кода Могу ли я просмотреть собственный исходный код wordpress php на моем размещенном веб-сервере? Как добавить определенные метатеги в голову корзины и страницы проверки в woocommerce? Escaping html для мета-описания Когда требуется add_query_arg ()? Категории раскрывающегося списка, используемые в форме, не показывают результатов, когда все выбрано Редактор HTML html отличается от источника просмотра Создает ли настройки API параметры во время выполнения?

Глобальные переменные WordPress?

У меня есть страница с метаболизмом, называемая «что-то». Он может иметь два значения: «значение» и «значение2».

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

Например, у меня есть это в page.php:

if($something == "value") { global $one, $two; $one = 120; $two = 240; } 

Теперь я хочу получить доступ к этим переменным в моем shortocde (файле functions.php), но

 echo $one; echo $two; 

Не выводит результат.

Есть идеи?

Solutions Collecting From Web of "Глобальные переменные WordPress?"

Мета-данные сохраняются в таблице postmeta, и для их получения вы можете использовать get_post_meta($post_id,'meta_key_name',true);

поэтому в вашей функции shortcode globilaize $ post object и получите такую ​​ценность

 if($something == "value") { global $post; $one = get_post_meta($post->ID,'value_name'true); $two = get_post_meta($post->ID,'value2_name'true); } 

Если вы не запускаете эти эхо-функции из функции через page.php, функции не получат ничего от этих глобальных переменных, потому что они настроены после выполнения функций. Php.

Попробуй это:

в functions.php:

 function show_me_that_stuff() { global $one, $two; echo $one; echo $two; } 

затем в page.php:

 if($something == "value") { global $one, $two; $one = 120; $two = 240; } show_me_that_stuff(); 

Теперь он должен вывести 120240.

Опубликовать определенные значения, как вы показали, должны быть post_meta, как показано Bainternet. Нет вопросов.

Однако, если он не является специфичным для страницы и является действительно глобальным, у вас также есть таблица wp_options с определенным API для решения этой проблемы.