Wordpressの著者別一覧作成での大はまり
Wordpressでアーカイブページを著者別に作ろうと思いました。
作業予定時間は30分だったのですが、
はまって、半日近く費やしてしまったので、備忘録をかねてブログに書きます。
1.著者別リンクの作成
ナビゲーション部分やサイドバーに
著者別のURIは、
http://ブログのドメイン/archives/author/著者名
になりますので、サイドバーなどに個別にリンクを作成しても良いところですが、
人数の増減等を考えると、修正するのが面倒なので、list_authors()やwp_list_authors()を使うのが、一般的だと思います。
< ?php list_authors(false,true,false,true);?>
リンクの作成は簡単ですね
2.インデックスページにも著者名を入れる、ところでおおはまり
続いて、誰が書いたかわかりやすくするためにインデックスページ(一覧)にも著者名をいれようと
各ページ最初に
< ?php if is_author()):?>
< h2>< ?php the_author();?> ’ Archive< /h2>
< ?php endif;?>
のような感じで書きましたが、一向に表示されません。
最初はスペルミスかと思ったのですが、
一覧の記事部分で表示しいるところからコピーしてもダメ×
公開されているテンプレートを10種類ぐらい見たのですが、
著者別一覧のページのタイトル部分に著者名を表示しているテンプレートは見当たりませんでした。
そこで、the_author();を様々な位置に配置して、確認したところ
the_author();は、記事部分や一覧の記事部分(記事をループを使って表示している部分)では使えるが、一覧では使えないことを確認しました。
記事をさしていない部分では、使えないのは、当たり前といえば、当たり前なのですが、
日付別一覧アーカイブでは、the_time();なんかは、使えるんですよね。一覧でも・・・こんな感じで
< ?php if is_author()):?> h2>Archive for < ?php the_time('F, Y'); ?>< /h2>
< ?php endif;?>
ちょっと不思議です!
Google先生にお問い合わせ(検索)したり、マニュアルをみたりして、解決策は見つかりません。
ブラウザのタイトルには著者名が表示されるのに、出来ないわけがない。
ブラウザのタイトル!!!
< ?php if(is_author()):?>
<h2>< ?php wp_title(”);?> ’ Archive</h2>
< ?php endif;?>
もっとスマートな方法があれば教えてください。
Popularity: 9 %
by redgasuki 












コメントはまだありません。