我有一个部分叫做single.php
看起来是这样的:
<?php $userdata = get_userdata($post->post_author) ; ?>
<div class="entry-meta">
<span class="byline author vcard"><?= __(\'By\', \'sage\'); ?>
<a href="<?= get_author_posts_url(get_the_author_meta(\'ID\')); ?>" rel="author" class="fn">
<?php echo ucfirst($userdata->user_nicename) ?>
</a>
</span>
</div>
现在,
$userdata
可能在我的单曲中的其他地方有用。因此,我希望变量及其值在所有模板中全局可用,无论何时使用我的单个模板。
所以我删去了第一行:创建$userdata
并更早地将其放入循环中更早调用的“父”模板中。
唉,该变量不再适用于部分用户。我尝试了一些其他模板,这些模板在循环的前面也被调用过。我得到了相同的结果:变量不可用。
我想在functions.php
. 但我可以想出几个不这样做的理由。首先,为什么要为get_userdata()
什么时候get_userdata
是否已存在?这似乎不雅。