WordPressのパンくずナビがうまく表示されない
今度はWordPressかいっ!と思う方もいらっしゃるでしょうが。
いろいろ事情あり、WordPress(ワードプレス)を使ったサイト構築もすることになった。
そして、パンくずナビを設置することに。
パンくずナビというのは、このページでいえば、ロゴの直下に表示されている
やまゆりWORLD(しいたけWEB) ≫ Why Is the Sky Blue? ≫ WordPressのパンくずナビがうまく表示されない (アーカイブ - RSS)
っていうヤツのことだ。
いろいろ事情あり、WordPress(ワードプレス)を使ったサイト構築もすることになった。
そして、パンくずナビを設置することに。
パンくずナビというのは、このページでいえば、ロゴの直下に表示されている
やまゆりWORLD(しいたけWEB) ≫ Why Is the Sky Blue? ≫ WordPressのパンくずナビがうまく表示されない (アーカイブ - RSS)
っていうヤツのことだ。
メジャーなCMSなら、パンくずはプラグインとして提供されている場合も多いだろう。このサイトのNucleusも例外ではないが、好みにカスタマイズできないので、自分でスキンに記述していたりする。少し頑張れば、自分で作れる程度のもの、というわけだ。
さて、WordPressの場合は、パンくずナビを表示するためのBreadcrumb NavXTというプラグインがある。このプラグインは解説も管理画面もすべて英語だが、メニューなどが日本語されたものも公開されている。ちなみに、現在の時点で英語版は3.2.0、日本語版は3.1.0と、日本語版の方が少し古いが、いずれもWordPress 2.7対応なので、どちらを使っても大きな問題はないだろう。
ダウンロードして展開したファイルをサーバーのプラグインディレクトリーに入れると、管理画面には「Breadcrumb NavXT - Adminstration Interface」と「Breadcrumb NavXT - Core」の2つのプラグインがあらわれるが、Administration Interfaceの方が管理画面からオプションの指定ができるので便利だ。一方、Coreの方はPHPファイルを直接書き換えるので、融通が利くのだろう。たぶん。
そして、テンプレートにbcn_display();とか記述すれば、パンくずが表示される。
いくつかのページの解説にある数行のコードは、このプラグインがインストールされていない場合にはエラーを表示させないようにしてあるものだ。
ところで、この記事で書きたいのは、とあるサイトにパンくずナビを表示させたところ、すべてのページで同じある1つのページのパンくずナビが表示されるという現象があらわれたからである。これは、プラグインのバグか、それとも何度もインストールしたりアンインストールしたり、バージョンを差し替えたりしたためにデータベースが壊れたのか・・・でも、データベースにはこのプラグインに関する記述は2つしかなく、アンインストールしたときにデータベースのその項目を削除しても、直らない。
こりゃあ困った、と、この仕事を一緒にやっているパートナーさんに連絡したところ、テンプレートがおかしいのかなあというお返事で、ひらめいた!テンプレートに、何か変な記述があるのでは?ということだった。確か、パンくずのコードを2つ書くとおかしな動作をしたことに思い当ったのだった。
さまざま調べた結果、テンプレートの中で、パンくずナビのコードを書く位置によっては正常に表示される、具体的には、サイドバーより前にパンくずのコードを書けばよい、といことがわかった。どうやら、サイドバーにウィジェットで表示させている何かのブロックが原因のようだ。おそらくは、「最近の投稿」か「カテゴリー」が原因と思われるが、検証まではしていない。
・・・しかし、こういう不具合が出るのはパンくずナビのプラグインBreadcrumb NavXTのバグではなくて、ウィジェットの不具合と言った方が正しいよなあ。
さて、WordPressの場合は、パンくずナビを表示するためのBreadcrumb NavXTというプラグインがある。このプラグインは解説も管理画面もすべて英語だが、メニューなどが日本語されたものも公開されている。ちなみに、現在の時点で英語版は3.2.0、日本語版は3.1.0と、日本語版の方が少し古いが、いずれもWordPress 2.7対応なので、どちらを使っても大きな問題はないだろう。
ダウンロードして展開したファイルをサーバーのプラグインディレクトリーに入れると、管理画面には「Breadcrumb NavXT - Adminstration Interface」と「Breadcrumb NavXT - Core」の2つのプラグインがあらわれるが、Administration Interfaceの方が管理画面からオプションの指定ができるので便利だ。一方、Coreの方はPHPファイルを直接書き換えるので、融通が利くのだろう。たぶん。
そして、テンプレートにbcn_display();とか記述すれば、パンくずが表示される。
いくつかのページの解説にある数行のコードは、このプラグインがインストールされていない場合にはエラーを表示させないようにしてあるものだ。
ところで、この記事で書きたいのは、とあるサイトにパンくずナビを表示させたところ、すべてのページで同じある1つのページのパンくずナビが表示されるという現象があらわれたからである。これは、プラグインのバグか、それとも何度もインストールしたりアンインストールしたり、バージョンを差し替えたりしたためにデータベースが壊れたのか・・・でも、データベースにはこのプラグインに関する記述は2つしかなく、アンインストールしたときにデータベースのその項目を削除しても、直らない。
こりゃあ困った、と、この仕事を一緒にやっているパートナーさんに連絡したところ、テンプレートがおかしいのかなあというお返事で、ひらめいた!テンプレートに、何か変な記述があるのでは?ということだった。確か、パンくずのコードを2つ書くとおかしな動作をしたことに思い当ったのだった。
さまざま調べた結果、テンプレートの中で、パンくずナビのコードを書く位置によっては正常に表示される、具体的には、サイドバーより前にパンくずのコードを書けばよい、といことがわかった。どうやら、サイドバーにウィジェットで表示させている何かのブロックが原因のようだ。おそらくは、「最近の投稿」か「カテゴリー」が原因と思われるが、検証まではしていない。
・・・しかし、こういう不具合が出るのはパンくずナビのプラグインBreadcrumb NavXTのバグではなくて、ウィジェットの不具合と言った方が正しいよなあ。
