0

我对 Wordpress 和 PHP 还很陌生,我目前正在学习 PHP,尤其是在这个阶段。由于我认为缺乏 PHP 知识,可以提供一些帮助,因为它有点卡住了。

因此,我已将“广播电台”安装到我的 Wordpress 安装中。一切似乎都很好。这个插件包含一个小部件,用于在侧边栏中显示有关当前 DJ 的“直播”信息以及一些信息,包括他们的缩略图。

我遇到的麻烦是,我不能(正确地,即动态地)显示这个缩略图。

使用标准安装,该插件显然是为了使用 Gravatar 头像,但无论我尝试什么都不起作用。

所以我大部分时间都在研究代码,试图弄清楚它,也许找到一个可以让我得到正确值的函数,并在 dj-on-air.php 文件中找到以下相关内容:

if(count($djs['all']) > 0) {
    foreach($djs['all'] as $dj) {
        //print_r($dj);
        $dj_str .= '<li class="on-air-dj">';
        if($show_avatar) {
            $dj_str .= '<span class="on-air-dj-avatar">'.get_the_post_thumbnail($dj->ID, 'thumbnail').'</span>';
        }

无论出于何种原因,get_the_post_thumbnail() 函数似乎都没有按预期工作。当我分配以下变量并显示它以查看发生了什么时

$tmp = $dj->ID;

输出是“293”(不带引号),通过 phpmyadmin 看起来似乎是 wp_posts 表中的“ID”值,这有点道理,但解释了为什么 get_the_post_thumbnail() 没有为缩略图输出有效的图像 url,因为那里没有值为“293”的用户 ID - 所以它什么也没返回,输出 html 是

<span class="on-air-dj-avatar"></span>

所以我需要做的是以某种方式获取当前“直播”DJ 的“用户 ID”值并将其输入以下内容:

echo '<span class="on-air-dj-avatar">'.get_wp_user_avatar($dj->ID, 96).'</span>';

上面可能不起作用,因为 $dj->ID 返回“293”。

get_wp_user_avatar() 是我从另一个名为 WP User Avatar 的插件中使用的函数,因此我可以为管理区域中的每个用户手动设置头像图像。

如果我手动输入“3”的用户ID值:

echo '<span class="on-air-dj-avatar">'.get_wp_user_avatar(3, 96).'</span>';

它完美地在小部件中显示头像,因为相关 DJ 的用户 ID 是“3”。但是,我需要一种动态执行此操作的方法。

我不太确定 $dj->ID 正在做什么,或者如何使用它来获取 DJ 的“用户 ID”,而不是它似乎给出的“wp_posts ID”?

我希望我在这里有所了解。如果有人可以提供帮助,我们将不胜感激,如果您需要查看更多源文件,请告诉我。

谢谢!

4

0 回答 0