記事を書いているユーザー(投稿者)のみのリンク付き一覧の表示方法です。(記事を投稿していないユーザーは対象外)
表示サンプル

※イメージです。リンク先は、投稿者の記事一覧ページです。
※どのページでもどの場所でも表示できます。
<?php
/*ユーザー一覧*/
global $wpdb;
$table_prefix = $wpdb->prefix;
$tablename = $table_prefix . 'posts';
$sql = "SELECT DISTINCT post_author FROM {$tablename} WHERE post_status = 'publish' AND post_type = 'post'";
$authors = $wpdb->get_results( $wpdb->prepare( $sql ) );
if($authors){
echo '<div class="side_menu">';
echo '<p class="title">ライター一覧</p>';
echo '<ul class="side_ul side_ul3">';
foreach($authors as $author){
$author_id = $author->post_author;
$author_url = get_author_posts_url( $author_id );
$author_info = get_userdata($author_id); ?>
<li><a href="<?php echo $author_url; ?>"><?php echo $author_info->display_name; ?></a></li>
<?php }
echo '</ul>';
echo '</div>';
}
?>コードの説明
6行目
データベースに問い合わせするためのSQLです。
「post_author」には、投稿者のIDが格納されています。
「post_status = 'publish'」は公開済
「post_type = 'post'」は、投稿タイプです。ここを変更するとカスタム投稿など別の投稿タイプに変更できます。
「DISTINCT」は重複をまとめています。
要するに、 'post'タイプで公開されている記事の投稿者IDを問い合わせしています。
16行目
「$author_info->display_name」は、「ブログ上の表示名」です。


コメントを残す