わかりましたので、WordPress編集プロファイルフィールド内にカスタムフィールドを追加しました。グラバターを使用しない場合、投稿者以上がカスタムイメージを追加できます。今私はif elseステートメントを書き込もうとしていますが、これは私が持っているものです
<?
$hasauthorpic = (the_author_meta('author_pic'));
if (function_exists('get_avatar')) { echo get_avatar( get_the_author_email(), '80' );}
else {echo '?><img class="avatar avatar-80 photo"><? $hasauthorpic ?></img><? ';}
?>
私が試してやりたいのは、ユーザーがそこにプロフィール写真へのリンクを指定していない限り、グラバターがそれを使用している場合です。または、ユーザーがグラバターを持っている場合でも、author_picの優先度を高くします。
編集:
<?
$authorpic = the_author_meta('author_pic');
$gravatar = get_avatar( get_the_author_email(), '80' );
if ($authorpic);
elseif (function_exists('get_avatar'))
echo ($gravatar);
?>
わかりましたので、以下のコードを試してみましたが、うまくいきませんでした。たぶん、これをsingle-whatever.phpファイルに入れているからでしょう。上記は私が手に入れたものですが、唯一の問題は、アバターと著者の写真リンクの両方を表示することですので、<img>
タグを追加する必要があることはわかっていますが、後で簡単になります。私が読んだことの1つは、the_author_meta
にtrue
を付けることができないため、助けが必要だということです。
あなたがグラバターのものにフックするコードを思い付くことができるならば、それを病気にします。言い換えれば、functions.phpファイルに配置できるコードがあり、それがiで機能する場合、それを好むでしょう。フィールド名はauthor_pic
です
PDATE:これは、下から提供されたコードを使った私の最終的な記述です
<?php
$authorpic = get_the_author_meta('author_pic');
$imgtagbeg = ('<img style="height:80px; width:80px" src="');
$imgtagend = ('"/>');
if ($authorpic)
echo $imgtagbeg,$authorpic,$imgtagend;
else
echo get_avatar( get_the_author_email(), '80' );
?>
The_author_meta()の代わりにget_the_author_meta()を使用する必要があります。
<?php
$authorpic = get_the_author_meta('author_pic');
if ($authorpic)
echo $authorpic;
else
echo get_avatar( get_the_author_email(), '80' );
?>
私が最近発見した、新しいローカルプラグイン Simple Local Avatars があります。見てみな!
あなたのif
は常にtrueを返し、あなたのカスタム作者の写真をバイパスします。
カスタムフィールドでifを実行します。それがtrueを返すならば、カスタムフィールドauthor picを使用するフィルタをget_avatarに追加します。
if ( the_author_meta('author_pic') ) {
add_filter( 'get_avatar', 'your_custom_author_pic_function' );
}
私が正しいと理解しているならば、あなたは人々がカスタムアバターをアップロードしたくないが、あなたは人々がカスタムアバターにリンクできるようにしたいですか?そうでない場合は、この記事はおそらくあなたのニーズに合うでしょう http://www.billerickson.net/wordpress-custom-avatar /