今回作成しているデモサイトは、固定ページをトップページにしている。
まぁ、なんとなく企業サイトをイメージしている感じ。
ところが、これだと以前作ったパンくずリストがうまく表示されない。
と、言うか無駄に表示されてしまう。
まぁ、トップページはパンくずリストなんて要らないかなーなんて思って、
こんな感じに実装していたワケですが・・
[code lang=”php” line=”1″]
function get_breadcrumbs(){
if ( !is_home() ){
・・以下略
[/code]
トップページもしっかり表示されてしまったりする。
何でかなーと、思って調べたところ、Codexにはっきり書かれていた。
is_home() : メインブログページが表示されている場合。
is_front_page() :サイトのフロントページが表示されている場合(投稿・固定ページにかかわらず)。
なんで、この場合は「is_front_page()」が正解らしい。
ちなみに、is_home()は何かと曲者のような記事も見かけた。
swhrykの日記 – is_front_page() と is_home()
暇があったら、その内調べてみよう。
コメント
ほんとだ。
今まで全てのサイトで is_home() がまともに動作したことなかったんだけど is_home() を is_front_page() に置き換えてみたら見事に動作しました。
今までトップページだけ別テンプレートを使ったりページ名を取得して分岐にしたり、結構遠回りしてきましたが、これからは本来のあるべき姿で対応していけそうです。
貴重な情報ありがとうございました。
そういえばどこかで「WordpressはあくまでCMSというよりブログだから…」ということを解説されている方がいました。
本来固定ペ^ーじでいいはずのところを投稿ページで作りこまれている人も多くいて、「なんじゃこりゃ?」って(自分の心の中で)罵ったこともさえあります。
カテゴリーやタグも投稿ページじゃないと使えないんですよね。
なんか全貌がやっと見えてきた気がします。
本当にありがとうございました。