Почему эхо локальная переменная внутри одной и той же функции не работает?

В текущем коде: (см. Вниз)

Я определил локальную переменную с именем post_author_nickname

Почему я не могу использовать его внутри той же функции, что и HTML-эхо?

Я использую функцию напрямую, а не назначая ее переменной


Код

function head_scripts() { $options = get_option( 'ps_plugindev' ); if ( isset( $options['twitter'] ) && !is_admin() ) { $post_id = get_queried_object_id(); $post_author_id = get_post_field( 'post_author', $post_id ); $post_author_nickname = the_author_meta( 'nickname', $post_author_id ); ?> <script type="text/javascript"> function setT() { var b = document.createElement('a'); b.classList += "twitter-share-button"; b.setAttribute("data-text", "<?php echo $post_author_nickname ?>" ); }; </script> <?php } 

 "< ? php echo $post_author_nickname; ? >" 

Не работает

 "< ? php echo the_author_meta( 'nickname', $post_author_id ); ? > " 

За работой

Изменить 1:

Спасибо @mario за предложение прочитать вопрос. В чем разница между тегами шаблона get_the_ * и the_ * в wordpress? – Переполнение стека, но я не понял, что ответ? или как это связано

Изменить 2:

Я проверил

  • В чем разница между тегами шаблона get_the_ * и the_ * в WordPress? – Переполнение стека

ПРИМЕЧАНИЕ. Я не знаком с php (10%) и использую его только для wordpress. Мой фон находится в c #

ИЗМЕНИТЬ 3:

После прочтения @mario предложил anser multible раз, я получил его.

Когда Гаурав уклонился от изменения своего ансера

 $post_author_nickname = the_author_meta( 'nickname', $post_author_id ); 

к

 $post_author_nickname = get_the_author_meta( 'nickname', $post_author_id ); 

Я не заметил отклонения между префиксом и get до имени функции '

Теперь я понимаю

Обычно я удалял вопрос, если он отмечен как дубликат.

Я оставлю эту заметку, если кто-то вроде меня не понял.

спасибо Гаураву и @mario

Related of "Почему эхо локальная переменная внутри одной и той же функции не работает?"