плагины wordpress — обработка переменных

#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(); ?>
  

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