投稿者プロフィール画像リンクを取得する必要があります。
私はget_avatar();
を使うことができることを知っていますが、それは画像全体のマークアップを表示します
<img src="http://.../img.png" class="avatar img-responsive" alt="image">
しかし、作者プロフィール写真のsrc
だけが必要です。
どうすればいいの?たぶん、php
やjs
を使って、合計出力から唯一のsrc
値を取り出すことができます。
私の2番目の質問は、その投稿のサムネイルが存在しない場合、どうやってそのimage
をpost_thumbnail
として追加できるのですか?
次の内側のループを置くことはあなたの必要性を満たすべきです:
<?php
$get_author_id = get_the_author_meta('ID');
$get_author_gravatar = get_avatar_url($get_author_id, array('size' => 450));
if(has_post_thumbnail()){
the_post_thumbnail();
} else {
echo '<img src="'.$get_author_gravatar.'" alt="'.get_the_title().'" />';
}
?>
get_avatart_uri()関数を使用して、アバター画像のURLを提供するパラメータとしてユーザーの電子メールを渡すだけです。
get_avatar_url
を使う以外に、get_avatar
を使うこともできます。私が間違っていなければ、これはあなたが探しているものです。
投稿者のプロフィール写真のリンクを取得する
<?php
// only output if gravatar function exists
if (function_exists('get_avatar')) { ?>
<?php
// Convert email into md5 hash and set image size to 32px
$gravatar = 'http://www.gravatar.com/avatar/' . md5(strtolower($user_email)) . '&s=32';
// Convert email into md5 hash and remove image size to use as post image
$gravatar_bg = 'http://www.gravatar.com/avatar/' . md5(strtolower($user_email)) . '';
?>
<!-- Output the gravatar as img src -->
<img src="<?php echo "$gravatar";?>" alt="">
<!-- Output the gravatar as background url -->
<div class="avatar" style="background: url(<?php echo $gravatar_bg ?>);" ></div>
<?php } ?>
その投稿のサムネイルが存在しない場合は、その画像をpost_thumbnailとして追加します。
<?php
// Check if post has thumbnail
// if ( has_post_thumbnail() ) { // option 1
if ( '' != get_the_post_thumbnail() ) { // option 2
// if has, output the thumbnail
the_post_thumbnail();
} else {
// if not, show the gravatar image
echo '<img src="<?php echo "$gravatar";?>" alt="">';
}
?>
幸運を祈っています。
リソース: Gravatarsを使う | hast_post_thumbnail