#wordpress #variables #plugins
#wordpress #переменные #Плагины
Вопрос:
Я написал простой плагин Twitter connect, который должен отображать имя пользователя, вошедшего в систему, в заголовке после его входа в систему. Функция работает должным образом, но я не могу отобразить переменную $ user в моем заголовке или где-либо за пределами функции, даже если ей присвоен глобальный статус.
Здесь заканчивается функция входа в систему:
$user= $Twitter->get_accountVerify_credentials();
print_r($user);
// show screen name (not real name)
$twitter_user = $user->screen_name;
// show profile image url
$twitter_image = $user->profile_image_url;
Я вижу, что это успешно, потому что $ user печатается, но когда я вызываю его в моем header.php файл таким же образом, как я могу ошибка: Уведомление: Неопределенная переменная: пользователь
Есть предложения?
Комментарии:
1. В каком файле вы объявили переменную $ Twitter? Скорее всего, переменная $user в заголовке вызывается до того, как она фактически объявлена
2. $ twitter объявляется в функции и подключается следующим образом: add_action(‘init’,’twitter_logged_in’); Я полагаю, что заголовок вызывается после этого..
Ответ №1:
В отличие от того, чтобы замыкаться на области видимости переменных, я бы написал функцию для получения этой информации. Что-то вроде:
function get_twitter_user_name(){
$user= $Twitter->get_accountVerify_credentials();
return $user->screen_name;
}
Затем в заголовке, где я хочу отобразить имя, я бы вызвал функцию следующим образом:
<?php echo get_twitter_user_name(); ?>
В зависимости от структуры вашего кода это может выглядеть немного иначе, чем то, что у меня здесь, но, надеюсь, это даст вам другой способ решения этой проблемы.