2011年06月17日
Wordpressでカテゴリートップの記事一覧のリンクを有効にする
Wordpress 3でデフォルトのテンプレートTwenty Tenを使ったブログのメンテナンスを請け負っている。
記事中にリンクが張ってある場合、トップページではリンクが有効になっているのに、カテゴリーのトップを表示すると、記事一覧の本文リンクがすべて無効になり、テキストだけになっている。
もちろん個別のページにジャンプするとリンクは有効になるのだが、カテゴリーのトップでも、トップページのようにリンクを有効にしてほしいとの依頼があった。
その対処方法を備忘録として書きとどめておく。
WordpressのテンプレートTwenty Tenの中の「category.php」を見てみると、
get_template_part( 'loop', 'category' );
の記述があった。
これは、テーマのその名前のテンプレートパーツをインクルードするらしい。参照
だが、Twenty Tenには「loop-category.php」は存在しない。
この場合は「loop.php」が使われるらしい。
そこで、このパラメータを
get_template_part( 'loop', 'page' );
にしてみた。
すると、「loop-page.php」が適用され、カテゴリーのトップページでも本文のリンクが有効になっている。
ところが、このままでは記事下のカテゴリーリンクがなくなり、「編集」のリンクのみが表示されている。
これを、トップページのように「カテゴリー名 | コメントをどうぞ | 編集」に変更したい。
まず、方針として、新規に「loop-category.php」を作成することにしよう。
ここでは、「loop-page.php」をもとに作成すれば都合がいい。
そこで「loop-page.php」をコピーして「loop-category.php」と名前を変更する。
このファイルの
'
', '' ); ?>
を、
Posted in %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
$tags_list = get_the_tag_list( '', ', ' );
if ( $tags_list ):
?>
Tagged %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
| ', '' ); ?>
に変更した。
そして仕上げに、先ほど変更した「category.php」のget_template_part( 'loop', 'page' );をget_template_part( 'loop', 'category' );に戻す。
これで、めでたく希望の表示ができた。
これでめでたしめでたし。


記事中にリンクが張ってある場合、トップページではリンクが有効になっているのに、カテゴリーのトップを表示すると、記事一覧の本文リンクがすべて無効になり、テキストだけになっている。
もちろん個別のページにジャンプするとリンクは有効になるのだが、カテゴリーのトップでも、トップページのようにリンクを有効にしてほしいとの依頼があった。
その対処方法を備忘録として書きとどめておく。
WordpressのテンプレートTwenty Tenの中の「category.php」を見てみると、
get_template_part( 'loop', 'category' );
の記述があった。
これは、テーマのその名前のテンプレートパーツをインクルードするらしい。参照
だが、Twenty Tenには「loop-category.php」は存在しない。
この場合は「loop.php」が使われるらしい。
そこで、このパラメータを
get_template_part( 'loop', 'page' );
にしてみた。
すると、「loop-page.php」が適用され、カテゴリーのトップページでも本文のリンクが有効になっている。
ところが、このままでは記事下のカテゴリーリンクがなくなり、「編集」のリンクのみが表示されている。
これを、トップページのように「カテゴリー名 | コメントをどうぞ | 編集」に変更したい。
まず、方針として、新規に「loop-category.php」を作成することにしよう。
ここでは、「loop-page.php」をもとに作成すれば都合がいい。
そこで「loop-page.php」をコピーして「loop-category.php」と名前を変更する。
このファイルの
'
' . __( 'Pages:', 'twentyten' ), 'after' => '
' ) ); ?>', '' ); ?>
を、
Posted in %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
$tags_list = get_the_tag_list( '', ', ' );
if ( $tags_list ):
?>
Tagged %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
| ', '' ); ?>
に変更した。
そして仕上げに、先ほど変更した「category.php」のget_template_part( 'loop', 'page' );をget_template_part( 'loop', 'category' );に戻す。
これで、めでたく希望の表示ができた。
これでめでたしめでたし。

