为什么呼应相同的函数内部的局部变量不工作? [重复](Why echoing a local v

2019-10-30 04:42发布

这个问题已经在这里有答案 :

在流动代码:(往下看)

我定义了一个局部变量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_ *和在WordPress the_ *模板标签之间的区别? -堆栈溢出 ,但我不明白的答案? 或者它是如何相关的

编辑2:

我检查了

  • 是什么get_the_ *和在WordPress the_ *模板标签之间的区别? - 堆栈溢出

注:我不熟悉PHP(10%),并为WordPress我的背景,只使用它是在C#

编辑3:

看完@mario建议雁 multible次我得到了它。

当拉夫 sugesited在他雁变化

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

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

我没有注意到的输精管,并得到前缀函数名”

现在我明白了

通常情况下,我删除了问题,如果它被标记为重复。

我将离开这个便条如果有一个人跟我一样没有得到它。

感谢拉夫和@mario

Answer 1:

使用此功能,而不是the_author_meta的。

get_the_author_meta()

https://developer.wordpress.org/reference/functions/get_the_author_meta/



文章来源: Why echoing a local variable inside the same function is not working? [duplicate]