WordPressのbloginfo()を自分好みに拡張する

WordPressでサイト情報を参照するbloginfo()のような関数を作ります。自分好みのテキストを独自に拡張したいときに一元管理できて便利です。

WordPressのbloginfo()を自分好みに拡張する

bloginfo() は、WordPress でブログ名やサイトdescriptionなどの基本情報いろいろを参照するときに使うテンプレートタグです。

bloginfo()にはダッシュボードで登録した様々な情報が格納されていますが、中にはそれ以上の情報を自由に付け足したいと言うこともあるでしょう。

そんなときに似たような用途で使える関数を作っておくと便利です。特に子テーマを使って複数サイトを同時に管理するとき省力化できます。

ブログの基本情報を入れておく関数

標準で用意されている bloginfo 「以外の」定型情報を入れる関数を作ります。

複数ブログを運営していると、基本レイアウトを変えないまま各ブログごとに一部の表示内容を切り替えたい場合があると思います。

例えばサイトの作成年やサブカラムに挿入する特定セクションの説明などなど。おち研ではサイドバーの所長ご挨拶などをメインサイトと技術部で切り替えたりしてます。

ちょっとしたテキストを書き換えるとき、テーマファイルをあちこち移動しなくても一カ所でまとめて書き換えられるし、項目を増やすときも漏れのチェックがしやすいと思うのです。

関数側

【functions.php】
// Advanced infomation
function ozBloginfo($key) {
  $array = array(
    'name' => 'ブログタイトルその2',
    'description' => 'サイト概要その2',
  );
  return $array[$key];
}

例えば標準の bloginfo() と同じような項目を指定しておくと、ブログの正式名称と短縮名を使い分けたりできます。サイト概要なんかもヘッダに表示するのとサイドバーに表示する情報を使い分けたり出来ますし。

配列は自由に増やせるので、アイデア次第で色々どうぞ。

あと恒例ですけど functions.php を編集するときはバックアップをお忘れなくです。

出力(テーマファイル)側

【PHP】
<?php echo ozBloginfo('description' ); ?>

出力はテーマファイルのどこでも使えます。お好きな場所で必要なキーを呼び出して下さい。

複数ブログを子テーマで運用しているときは functions.php の value を書き換えることでサイトごとの独自色を出すことが出来ます。

おわりに

何のひねりもなく配列作って取り出しただけなんですけど、もしかしたら需要があるかも知れないのでアイディア集としてご紹介してみました。

ほぼレイアウトが同じ姉妹ブログで独自情報を表示する場合、ダッシュボードから同じ名前のウィジェットを作ってデータ対応させるのが一般的かも知れません。

ただ個人的にはテキストデータで見えてた方が気持ち楽なので、この方法で管理しております。

サイトの運用方式はそれぞれ好みがあると思うので、自分に合った方法を採用すれば良いと思います。比較しながら興味があったら試してみて下さい。(・∀・)/