1. HOME
  2. 開発・ブログ運営
  3. WordPress
  4. WordPress で WEB ページ毎に条件分岐タグを使ってタイトル(<title></title>)を変えてみる
2012年06月16日
プラグイン(Smooth Scroll Links [SSL] ...
2012年10月02日
「WordPress コミュニティサミット参加者への旅費支援の ...
2012年04月17日
WordPress が勝手に <p> タグを入れないよう ...
2012年02月12日
WordPress3 でブログを立ち上げて初めに行った設定いろ ...
2012年06月12日
YARPP プラグインで表示する「関連記事」を好きな位置に表示 ...
2012年05月02日
WordPress のオリジナル Widget (ウィジェット ...

WordPress で WEB ページ毎に条件分岐タグを使ってタイトル(<title></title>)を変えてみる

Wordpress は記事を投稿していくだけで自動的にカテゴリ一覧ページや月別ページなどのアーカイブページを自動で生成してれますが・・・。

それぞれのアーカイブページ(archive.php)や記事ページ(single.php)などの ページタイトル(<title></title>)が好みでないことがままありますし、 テーマによってはページタイトルを見ただけででは何のページかわかりずらいようなタイトルがついている場合があります。

このブログも Theme Junkie. で配布されているテーマを利用させてもらっていますが、アメリカ産だからか、わかりにくいしスタイルも好きじゃない。

ってことで、ページごとに好みのタイトルをつけられるべくテーマファイルを修正しました。

どんなテーマを利用していても修正するファイルは、header.php です。<title></title> の部分がテーマによってどうなっているかそれぞれでしょうが、いずれにしても is_xxx()で、ページ種別を判別できるようなので、<title></title> を条件分岐でわけるだけです。

// トップページ
<?php if( is_home() ) { ?>
<title><?= bloginfo(‘name’); ?></title>

// カテゴリ別アーカイブ
<?php } else if( is_category() ){ ?>
<title>カテゴリ(<?= wp_title(”); ?>)の記事一覧 | <?php bloginfo(‘name’); ?></title>

// タグ別アーカイブ
<?php } else if( is_tag() ){ ?>
<title>タグ(<?= wp_title(”); ?>)が付いている記事一覧 | <?php bloginfo(‘name’); ?></title>

// 月別アーカイブ
<?php } else if( is_month() ){ ?>
<title><?= the_time(‘Y年m月’); ?>の記事一覧 | <?php bloginfo(‘name’); ?></title>

// 投稿者別アーカイブ
<?php } else if( is_author() ){ ?>
<title><?= wp_title(”); ?>が投稿した記事一覧 | <?php bloginfo(‘name’); ?></title>

// その他アーカイブ
<?php } else if( is_archive() ){ ?>
<title>アーカイブ:<?= wp_title(”); ?> | <?php bloginfo(‘name’); ?></title>

// 個別記事
<?php } else { ?>
<title><?= wp_title(”); ?> | <?php bloginfo(‘name’); ?></title>

<?php } ?>

条件分岐する is_xxx() は、条件分岐タグと呼ばれているようで、現在 33種類存在するようです。今回は WEB ページのタイトルを変更するために条件分岐タグを利用しましたが、ページごとに異なる表示をしたい場合などにも条件分岐タグで実現できます。

以下、条件タグの一覧です。

  1. comments_open
  2. has_tag
  3. in_category
  4. is_404
  5. is_admin
  6. is_archive
  7. is_attachment
  8. is_author
  9. is_category
  10. is_comments_popup
  11. is_date
  12. is_day
  13. is_feed
  14. is_front_page
  15. is_home
  16. is_month
  17. is_multi_author
  18. is_multisite
  19. is_page
  20. is_page_template
  21. is_paged
  22. is_preview
  23. is_search
  24. is_single
  25. is_singular
  26. is_sticky
  27. is_super_admin
  28. is_tag
  29. is_tax
  30. is_time
  31. is_trackback
  32. is_year
  33. pings_open

参考URL:条件分岐タグ – WordPress Codex 日本語版

でわでわ。






「WordPress で WEB ページ毎に条件分岐タグを使ってタイトル(<title></title>)を変えてみる」に頂いたコメント & トラックバック

  1. zero より:

    この場合、titleタグでphpを囲む方が相応しいかと思います。
    必要な文字(”の記事一覧 | ” 等)はecho “~~~”で出力し、複数のphpを一つにまとめて記述するのはいかがでしょうか。

    • (ひ) より:

      zero さん、こんばんわ。
      コメントありがとうございます。

      そうですね。全体を php で囲っちゃっても良いかも。その方が見やすい人が多いかもしれませんね。

      ただ個人的には echo を使うと、(場合によっては)”や’ をエスケープしたりと面倒くさかったり、コードが見にくくなってしまうので、イチイチ個別に php を書いた方が見やすかったりします。(ケースバイケースですけど。)

      それとも全体を php で囲った方が速度的に速いとかあるのかな。

      また、この記事のソースは、< ?= ?> で出力してますけど、WordPress は、< ?= $hoge ?> じゃなくて < ?php echo $hoge ?> と書くべき、というようなことをどこかで見たような・・。

この記事にコメントする





Copyright © 2012 - 2014 MacBook Air とWordPressでこうなった All rights reserved
Powered by WordPress.