你好我在WordPress上工作,我有一个高级主题,创作者不再支持,所以我试图做出改变;我不确定这是否被称为错误。关于访问者发表评论时的评论;在这种情况下,他的头像不是默认的“神秘”(no_avatar.gif),但它会自动获取当前帖子作者的头像。我想显示未注册用户的默认值。我想要注意的是,主题是使用它自己的头像。我在函数上定位代码,但我无法更改它,任何帮助都将不胜感激,在此先感谢此处是代码:
function tgt_get_avatar_link($user_id = ""){
if (!empty($user_id)){
$avatar = get_the_author_meta('tgt_image', $user_id);
}
else
$avatar = get_the_author_meta('tgt_image');
if (!$avatar){
return TEMPLATE_URL . '/images/no_avatar.gif';
}
return TEMPLATE_URL . $avatar;
}
更新:该函数正在调用tgt_get_avatar_link
,但似乎是:
function tgt_ad_comment($comment, $args, $depth){
$GLOBALS['comment'] = $comment;
global $helper;
?>
<li>
<div class="comment" id="comment-<?php comment_ID()?>">
<?php //echo get_avatar($comment) ?>
<?php echo $helper->image(tgt_get_avatar_link($comment->user_id), $comment->comment_author, array('title' => $comment->comment_author, 'width' => '58px', 'height' => '58px')) ?>
<div class="comment_content">
<strong><?php echo get_comment_author_link() ?></strong> <?php _e('Say ','ad')?>(<?php comment_time('F j, Y \a\t g:i a') ?>)
<br/>
<?php comment_text() ?>
</div>
</div>
该函数正在调用$user_id
,但似乎是:
function tgt_get_avatar_link($user_id = ""){
if (!empty($user_id)){
$avatar = get_the_author_meta('tgt_image', $user_id);
}
else
$avatar = get_the_author_meta('tgt_image');
if (!$avatar){
return TEMPLATE_URL . '/images/no_avatar.gif';
}
return TEMPLATE_URL . $avatar;
}
答案 0 :(得分:0)
如果评论作者没有定义的头像,您希望显示默认图像。这似乎是条件中的else
:
else { $avatar = get_the_author_meta('tgt_image'); }
如果没有$ user_id传递给get_the_author_meta,它会假定当前帖子作者的用户ID。这可能会导致您描述的行为。
尝试删除else
语句,直接从if (!empty($user_id)){$avatar = get_the_author_meta('tgt_image', $user_id);}
跳至if (!$avatar){...
。现在,当函数传递null user_id时,它应该return TEMPLATE_URL . '/images/no_avatar.gif';