2012-09-19 146 views
1

你好,我在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

这实际上不足以帮助我们 - 我们需要知道哪个函数调用了'tgt_get_avatar_link',什么'$ user_id'它已经过去了。 – crowjonah

+0

你好,非常感谢你的回复!我不够熟悉PHP来回答你的问题,我发现更好的想法向你展示所有的代码。我已经上传了zip文件中的所有代码,所以我真的需要你的建议,如果你下载并检查它,非常感谢你这里的链接:[链接](http://uploading.com/files/get/8ma35ead /author_widget.zip) –

+0

对不起,如果您无法在您的问题中发布代码,我将无法查看它。如果你不熟悉PHP来回答我的问题,我猜你可能会适应任何我能想到的答案,而不会为你做所有的工作。这听起来像你可能需要雇用一个人。高级主题不再被支持太糟糕了,但我想作者可能有正当的理由。 – crowjonah

回答

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){...。现在,当该函数通过空user_id时,它应该return TEMPLATE_URL . '/images/no_avatar.gif';

+0

我已经试过这个对不起,我没有提到它,这是解决我的问题,但是正在创造新的。如果另一个函数调用'tgt_get_avatar_link'则返回空白的头像......正如你所说,我害怕这就是为什么作者不支持这个主题了...... –