WPを複数人で運営してたりする時に便利そうなので備忘録
とりあえず
・投稿者(ユーザー)リストの表示
・投稿者(ユーザー)のプロフィールページの設置
右上のナビリストの「665-667」をクリックするとサンプル
この2点
投稿者リストは、ブログに登録してるユーザー名をリスト表示し、ユーザー名をクリックすると、そのユーザーの投稿一覧ページ(アーカイブ.php)になる。
投稿者プロフィールページは、author.phpを作成し、リストのユーザー名をクリックすると、そのユーザーのプロフィールと投稿一覧ページが表示される。
参考サイト
Author Templates
投稿者リスト
<ul>
<?php wp_list_authors('exclude_admin=0'); ?>
</ul>
admin=0′ adminもリストに表示する
admin=1′ adminはリストに表示しない
<ul>
<?php wp_list_authors('exclude_admin=0&hide_empty=0'); ?>
</ul>
hide_empty=0′); 投稿の無いユーザーもリストに表示する
hide_empty=1′); 表示しない
author.phpで、ユーザープロフィールページの設置
author.phpを作成し、テーマディレクトリにアップロード
author.phpに、コードを記述。
上記サイトにもサンプルコードがありますが、当ブログでのサンプルコードで説明
<?php get_header(); ?>
<div id="content">
<?php
if(isset($_GET['author_name'])) :
$curauth = get_userdatabylogin($author_name);
else :
$curauth = get_userdata(intval($author));
endif;
?>
<div class="post">
<h2>About: <?php echo $curauth->nickname; ?></h2>
※ニックネームが表示される
<div class="author">
<img src="<?php bloginfo('template_directory') ?>/images/authors/<?php echo $curauth->ID; ?>.jpg" alt="<?php echo $curauth->nickname;?>" title="<?php echo $curauth->nickname;?>" />
ユーザーIDで割り当てたユーザーの画像を表示。
<dl>
<dt>Maill</dt>
<dd><あ href="mailto:<?php echo $curauth->user_email; ?>"><?php echo $curauth->user_email; ?></あ></dd>
※ユーザープロフィールに登録してあるメールアドレスを表示
<dt>mixi</dt>
<dd><あ href="<?php echo $curauth->user_url; ?>"><?php echo $curauth->user_url; ?></あ></dd>
※ユーザープロフィールに登録してあるウェブサイトを表示
</dl>
<?php echo $curauth->user_description; ?>
※ユーザープロフィールのユーザー説明を表示
<h2>Posts by <?php echo $curauth->nickname; ?>:</h2>
※ポスト バイ ニックネームが表示される
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<ul>
<li>
<あ href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link: <?php the_title(); ?>"><?php the_title(); ?></あ>
<br />
<?php the_time('d M Y'); ?> in <?php the_category('&');?>
</li>
</ul>
<?php endwhile; ?>
<div class="navigation">
<?php next_posts_link('Next »') ?>
- <?php previous_posts_link('« Back') ?>
</div>
<?php else: ?>
<p><?php _e('No posts by this author.'); ?></p>
<?php endif; ?>
</div>
</div>
</div>
<?php include (TEMPLATEPATH . '/left.php'); ?>
<?php include (TEMPLATEPATH . '/right.php'); ?>
<?php get_footer(); ?>
[投稿者の画像]
上記サイトには投稿者の画像を表示させるコードがなかったのですが
多人数でブログを使用する場合は、画像の設置が大変なのでimgコードは無い方がいいかもです。
少人数での利用なら、ユーザー分の画像を準備するだけなので用途に応じて下さい。
コード内の img は、前に書いた投稿者の画像を表示させるやつをテンプレートに合わせて改変しました。
一連の流れは前の記事を参照して下さい。
「投稿に投稿者の画像を表示させる」
このブログはユーザーがひとりだけなので、ユーザー名にマウスを乗せてもブラウザ下に表示されなかったので
全部の作業を終えたあとにauthorページを開いてソースを見ると、ID.jpgが表示されてたので解決
[ユーザープロフィール]
dt,dd の場所は、ユーザープロフィールで設定した項目が表示される。
ここも用途に応じて下さい。
各項目のパラメーターは上記サイトに表記されてます。
[ユーザーの新着記事一覧]
ループ内の li は、ユーザーが投稿した記事一覧が表示されます。
スタイルは自分の環境に合わせて下さい。
うまく使うと便利なページが構築できそうです。