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;   
}
4

1 に答える 1

0

コメントの作成者がアバターを定義していない場合は、デフォルトの画像を表示したいと考えています。これはelseあなたの条件のようです:

else { $avatar = get_the_author_meta('tgt_image'); }

get_the_author_metaに渡す $user_id がない場合、現在の投稿作成​​者のユーザー ID と見なされます。これは、あなたが説明した動作を引き起こしている可能性があります。

からまでelseスキップして、ステートメントを削除してみてください。現在、関数に null の user_id が渡された場合は、次のようにする必要があります。if (!empty($user_id)){$avatar = get_the_author_meta('tgt_image', $user_id);}if (!$avatar){...return TEMPLATE_URL . '/images/no_avatar.gif';

于 2012-09-19T19:38:00.527 に答える