著者の写真を表示するためにWPハックを使用しました。例えば、私のsingle.phpは作者の写真を表示する作者スラッグを持っています。
私は私のtheme/imagesフォルダにauthorsというフォルダを作りました。著者のIDに基づいて、ファイルに1.jpg、2.jpgなどの名前を付けます。
だから私はこの画像をと呼びます
<img src="<?php bloginfo('template_directory') ?>/images/authors/<?php the_author_ID()?>.jpg" alt="<?php the_author(); ?>">
今私はサイドバーの作者を表示するプラグインを修正しています。ただし、このプラグインはget_avatar関数を使用します。これは次のとおりです。
/**
* If show avatar option is checked, add get_avatar function to cache.
*/
if($jmetc_options['show_avatar'] == 1) {
$jmevar['cache'] .= get_avatar($tc->comment_author_email, $jmetc_options['avatar_size']);
}
私が使用しているデフォルトのコードを使用するために、get_avatarを使用または変更する方法について、誰かにアドバイスをもらえますか
get_avatar()
関数は、アバターマークアップを変更するために使用できるget_avatar
フィルターフックを適用します。
return apply_filters('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
I thinkこれは、このフィルタに接続する正しい方法です。
function mytheme_get_avatar( $avatar ) {
$avatar = '<img src="<' . get_template_directory_uri() . '/images/authors/' . get_the_author_ID() . '.jpg" alt="' . get_the_author() . '">';
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar' );
_編集_
pSこのアプローチに代わる良い方法は シンプルローカルアバター プラグインかもしれません。
編集2
フィルタはadd_filter()
ではなくapply_filters()
を使って適用されます。それは私のミスです。今すぐ修正!
編集3
これは正しいとは思わない。
P.S:わかりやすくするために
get_avatar($tc->comment_author_email, $jmetc_options['avatar_size']);
をadd_filter('get_avatar', $avatar, $id_or_email, $size, $default, $alt);
に置き換えました
まず、テンプレートファイルでget_avatar()
を呼び出して、以前と同じパラメータをすべて渡します。 add_filter()
呼び出しはfunctions.php
に属します。
次に、フィルタ関数に追加のパラメータを渡すことができます。例えば。:
function mytheme_get_avatar( $avatar, $id_or_email, $size ) {
$avatar = '<img src="<' . get_template_directory_uri() . '/images/authors/' . $id_or_email . '.jpg" alt="' . get_the_author() . '" width="' . $size . 'px" height="' . $size . 'px" />';
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );
上記の機能に多少の誤差があります
これを使ってください。
function mytheme_get_avatar( $avatar, $id_or_email, $size ) {
$avatar = '<img src="' . get_template_directory_uri() . '/images/authors/' . $id_or_email . '.jpg" alt="' . get_the_author() . '" width="' . $size . 'px" height="' . $size . 'px" />';
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );