「アバター」タグアーカイブ

Sangoの著者ページ「author/…」でその著者の投稿が無いと、アバターが正しく表示されないバグ修正 WordPress BuddyPressカスタマイズメモ

サンゴのバグ修正、著者ページで投稿がないとアバターやプロフィールが表示されない

そのユーザー(著者)の投稿した記事があれば、記事一覧の上に、アバターの写真とユーザー名、プロフィールの詳細が表示されるが…

投稿した記事がない場合は、アバターもデフォルトのものになるし、プロフィールの詳細が表示されない…

 

修正するファイル

wp-content/themes/sango-theme/parts/archive に入っている

archive-header.php

がこれにあたる。

これを同じ階層で子テーマにコピペで突っ込む。
 

修正する箇所

元の4行目あたり

<p class="author_page_img">
 <?php
  //著者画像
  $iconimg = get_avatar( get_the_author_meta( 'ID' ), 125 );
  if($iconimg) echo $iconimg;
 ?>
</p>

 ↓↓↓

<p class="author_page_img">
  <?php
  //著者画像
  $iconimg = get_avatar( get_the_author_meta('ID',$author) );
  if($iconimg) echo $iconimg;
 ?>
</p>

get_avatar( get_the_author_meta( ‘ID’ ), 125 );

だと、その記事の著者になってしまうので、

$iconimg = get_avatar( get_the_author_meta(‘ID’,$author) );

として、そのURL author/userID の userID 部分の人のアバターを取得するように変更。

次にプロフィールの詳細の部分で、記事投稿がない場合には、別途プロフィールの詳細を表示させる。(投稿がある場合は、従来のSANGOのテンプレのものがそのまま表示される)

<h1 class="dfont">
 <?php echo esc_attr(get_the_author_meta('display_name',$author)); ?> <?php fa_tag("check-circle","check-circle",false) ?>
</h1>
<?php else : //著者ページ以外?>
<h1>
 <?php
  if( output_archive_title() ){

 ↓↓↓

<h1 class="dfont">
 <?php echo esc_attr(get_the_author_meta('display_name',$author)); ?> <?php fa_tag("check-circle","check-circle",false) ?>
</h1>
<?php
 if( !have_posts() ) { //投稿がない場合以下を実行
  echo '<div class="taxonomy-description entry-content">'.strip_tags(get_the_author_meta( 'description', get_the_author_meta('ID',$author) )).'</div>'; // プロフィールの詳細を表示
 }
?>
<?php else : //著者ページ以外?>
 <h1>
  <?php
   if( output_archive_title() ){

これで、記事がなくてもプロフィールアバターとプロフィールの詳細が表示される。