不显示ping的默认Gravator

时间:2011-04-26 作者:two7s_clash

以下是我的评论栏:

<div id="comments">
    <?php if (have_comments()) : ?>
        <h3><?php printf(_n(\'1 comment\', \'%1$s comments\', get_comments_number()), number_format_i18n( get_comments_number() ), \'\' ); ?></h3>
        <div class="comment_list">

            <?php $comments_by_type = &separate_comments($comments); ?>
            <?php if ( !empty($comments_by_type[\'comment\']) ) : ?>
            <ol>
                <?php wp_list_comments(array(\'callback\' => \'commentslist\', \'type\' => \'comment\')); ?>
            </ol>
            <?php endif; ?>

            <?php if ( ! empty($comments_by_type[\'pings\']) ) : ?>
            <h3 id="pings">Pingbacks/Trackbacks</h3>
            <ol class="pinglist">
            <?php wp_list_comments(array(\'callback\' => \'commentslist\', \'type\' => \'pings\')); ?>
            </ol>
            <?php endif; ?>
        </div>
    <?php endif; // end have_comments() ?>
    </div>
这是我的wp_list_comments 回调:

function commentslist($comment, $args, $depth) {
    $GLOBALS[\'comment\'] = $comment;
        require_once(ABSPATH . WPINC . \'/registration.php\');
        if ($comment->user_id || email_exists($comment->comment_author_email)){
            //comment by registered user
            $avatar = \'/images/bird_comments_big.png\';
            }else{
            //comment by none registered user
            $avatar = \'/images/bird_comments_pink.png\';
            }
        ?>
    <li>
        <div id="comment-<?php comment_ID(); ?>" <?php comment_class(); ?>>
            <table>
                <tr>
                    <td>
                        <?php echo get_avatar($comment, 70, get_bloginfo(\'template_url\').$avatar); ?>
                    </td>
                    <td>
                        <div class="comment-meta">
                            <?php printf(__(\'<p class="comment-author"><span>%s</span> says:</p>\'), get_comment_author_link()) ?>
                            <?php printf(__(\'<p class="comment-date">%s</p>\'), get_comment_date(\'M j, Y\')) ?>
                            <?php comment_reply_link(array_merge($args, array(\'depth\' => $depth, \'max_depth\' => $args[\'max_depth\']))) ?>
                        </div>
                    </td>
                    <td>
                        <div class="comment-text">
                            <?php if ($comment->comment_approved == \'0\') : ?>
                                <p><?php _e(\'Your comment is awaiting moderation.\') ?></p>
                                <br/>
                            <?php endif; ?>
                            <?php comment_text() ?>
                        </div>
                    </td>
                </tr>
            </table>
         </div>
<?php
}
由于缺少ping的电子邮件地址,wp\\u gravatar似乎应该调用未注册的用户映像,但它没有返回任何内容。

1 个回复
最合适的回答,由SO网友:Jan Fabry 整理而成

默认情况下,WordPressdoes not display an avatar for a pingback or a trackback - 它们是否包含电子邮件地址?您可以将这些添加到get_avatar_comment_types 如果要更改此项,请进行筛选。

结束

相关推荐

是否有任何过滤器可以将额外的列添加到EDIT-Comments.php上的LIST表中?

我正在尝试修改edit-comments.php 管理页面,我没有看到任何可与之相比的过滤器manage_posts_columns 等有没有简单的方法可以做到这一点?我想做这件事的唯一真正方法是WP_Comments_List_Table 使用我自己的类,覆盖get_columns 和其他相关功能,只需将我自己的页面添加到“管理”菜单,该菜单以编辑注释的相同方式使用此新类。php使用WP_Comments_List_Table.有没有更简单的方法可以做到这一点,而我只是没有看到?