web-dev-qa-db-ja.com

Get_avatarフィルタ

アバターの下にコメントを表示しようとしています。どうすればこれをフィルタリングできますか?すみません、私はWordpress PHP開発の初心者です。

私の子供のテーマのcomment.phpで私は持っています:

wp_list_comments(
    array(
        'style'       => 'ol',
        'short_ping'  => true,
        'avatar_size' => 60,
    )

);

私は思う、私はここでまたはfunctions.phpで何かをしなければならない

1
Garrosh

ストアフロントWordPressテーマの例を紹介します。これは、あなたが知りたいことすべてを説明する最高のテーマなので、ここにあるコードはcomments.phpです

<ol class="comment-list">
<?php
wp_list_comments( array(
    'style'      => 'ol',
    'short_ping' => true,
    'callback'   => 'storefront_comment',
) );
?>

ここでstorefront_commentは、incフォルダーにあるstorefront-template-functions.phpで定義されるコールバック関数です。ここで機能コード

if ( ! function_exists( 'storefront_comment' ) ) {
/**
 * Storefront comment template
 *
 * @param array $comment the comment array.
 * @param array $args the comment args.
 * @param int   $depth the comment depth.
 * @since 1.0.0
 */
function storefront_comment( $comment, $args, $depth ) {
    if ( 'div' == $args['style'] ) {
        $tag = 'div';
        $add_below = 'comment';
    } else {
        $tag = 'li';
        $add_below = 'div-comment';
    }
    ?>
    <<?php echo esc_attr( $tag ); ?> <?php comment_class( empty( $args['has_children'] ) ? '' : 'parent' ) ?> id="comment-<?php comment_ID() ?>">
    <div class="comment-body">
    <div class="comment-meta commentmetadata">
        <div class="comment-author vcard">
        <?php echo get_avatar( $comment, 128 ); ?>
        <?php printf( wp_kses_post( '<cite class="fn">%s</cite>', 'storefront' ), get_comment_author_link() ); ?>
        </div>
        <?php if ( '0' == $comment->comment_approved ) : ?>
            <em class="comment-awaiting-moderation"><?php esc_attr_e( 'Your comment is awaiting moderation.', 'storefront' ); ?></em>
            <br />
        <?php endif; ?>
        <a href="<?php echo esc_url( htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ); ?>" class="comment-date">
            <?php echo '<time datetime="' . get_comment_date( 'c' ) . '">' . get_comment_date() . '</time>'; ?>
        </a>
    </div>
    <?php if ( 'div' != $args['style'] ) : ?>
    <div id="div-comment-<?php comment_ID() ?>" class="comment-content">
    <?php endif; ?>
    <div class="comment-text">
    <?php comment_text(); ?>
    </div>
    <div class="reply">
    <?php comment_reply_link( array_merge( $args, array( 'add_below' => $add_below, 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
    <?php edit_comment_link( __( 'Edit', 'storefront' ), '  ', '' ); ?>
    </div>
    </div>
    <?php if ( 'div' != $args['style'] ) : ?>
    </div>
    <?php endif; ?>
<?php
}

}

<div class="comment-author vcard">行の下に、アバター画像が取得され、その下にカスタムデータが表示されていることがわかります。好きなようにカスタマイズできます。

1
Vinit