2014-02-12 5 views
1

У меня естьКак использовать глобальные переменные в WordPress с помощью do_shortcode

$a = 'blablablablabla'; 
function Test($atts, $content = null){ 
    global $a; 
    return '<p>'.$a.'</p>'; 
} 
add_shortcode('test', 'Test'); 
$x = do_shortcode($content); 
remove_shortcode('test'); 

return $x; 

Но тест не получает глобальные переменные этого места, я думаю, что это из-за «do_shortcode», как я могу получить глобальную переменную из-за пределов функции?

+0

Передайте его в качестве аргумента функции? –

+0

Что это значит? –

ответ

2

попробуйте этот код, это работает над моим wordpress.

$GLOBALS['a'] = 'blablablablabla'; 
function Test($atts, $content = null){ 
    return '<p>'.$GLOBALS['a'].'</p>'; 
} 
add_shortcode('test', 'Test'); 

$ содержание = '[тест]';

$x = do_shortcode($content); 
remove_shortcode('test'); 
echo $x; 
exit; 

Выездные путы

blablablablabla 
+0

Вы ничего не изменили, я уверен, что do_shortcode запущен, Test выполняется, я не знаю, почему вам нравится, а мне нет. –

+0

@BlackCid Я просто говорю, что не даю контент в do_shortcode. просто поместите свое короткое кодовое имя, например, тест. поэтому do_shortcode понимает, что запуск функции тестирования иначе не запускается. –

+0

Проблема не в выполнении функции Test, проблема в том, что в моем wordpress, $ a пуст внутри функции, Test не принимает глобальные значения ... –

Смежные вопросы