WordPress Shortcode Require_Once не загружает переменные в нескольких экземплярах - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть тег "require_once", используемый на нескольких страницах с коротким кодом, которые иногда загружаются на одну и ту же страницу.Когда они это делают, только первая страница, ссылающаяся на требуемый файл, может использовать любые установленные переменные и функции.Например:

<?php
/*
 * This is page function.php
 */

$test = 'This is a test if the variable can be called';
?>

Вот короткий код первой страницы [page1]:

<?php
/*
 * This is page1.php
 */

require_once(function.php);
echo "What is returned for page1? -> $test";
?>

Вот короткий код второй страницы [page2]:

<?php
/*
 * This is page2.php
 */

require_once(function.php);
echo "What is returned for page 2? -> $test";
?>

Если я затем использую шорткоды на странице или посте, как это:

[page1]

[page2]

Я получу:

Чтовозвращается для page1? -> Это тест, если переменная может быть вызвана

Что возвращается для page2? ->

Если я поменяю местами шорткоды следующим образом:

[page2]

[page1]

Я получаю: Что возвращается для page2? -> Это тест, если переменная может быть вызвана

Чтовозвращается для page1? ->

. Он отменяет результат, так что любая вызываемая страница может использовать переменные, но вторая страница не может.

Если я вызову functions.phpпросто "require" вместо "require_once", тогда я получаю сообщение об ошибке при попытке загрузить одну и ту же страницу дважды.

Есть ли решение, позволяющее загружать страницы с помощью коротких кодов для доступа к странице функций?

...