以前(といっても結構まえですが)、テーマの情報を管理画面下部に表示する方法を書きましたが、何箇所かで使うときのことを考えて今回はそれを関数化してもう少し利用しやすくしてみようとおもいます。
いえ、決してネタ切れなわけではあr
関数をつくる
前回は毎回 wp_get_theme() 関数を呼んでいましたが、今回はオリジナルの関数 get_theme_info() というものを作ります。
引数で、テーマ情報のなにを表示するのかと、そのまま表示するか、PHPで扱える形式で受け取るかを指定します。
コードにするとこんなかんじ? functions.php に書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function get_theme_info($e = false,$s = false) { $cti = wp_get_theme(); if ($e) { if ($s == true) { echo $cti->$e; } else { return $cti->$e; } } else { if ($s == true) { print_r($cti); } else { return $cti; } } } |
$e はテーマオブジェクトのどのデータを表示するかを指定します。
例:名前なら Name バージョンなら Version と指定します。
$s は、true なら echo で返し、 false なら return で結果を返します。
例えば、テーマのバージョンをそのまま表示したいならば、
1 |
get_theme_info('Version',true); |
と書くだけで現在のテーマのバージョンが表示されます。
逆に変数に入れたいならば、
1 |
$version = get_theme_info('Version',false); |
です。
$e を省略した場合は wp_get_theme() で得られるテーマオブジェクトをそのまま返します。
この場合 $s は指定しても構いませんが echo しても Array としか出ないため、 print_r で返すようにしています。なので実際そのままつかうことは無いと思いますのでテーマオブジェクトの確認用くらいにしか使えないかもしれません。
そうなると基本的に $s は false(または未指定)とし、配列に代入してから取り出すのが基本的な使い方になると思います。
1 2 |
$themeObj = get_theme_info(); echo $themeObj->Version; |
でもそうなるともはやこの関数を使わずに、
1 2 |
$themeObj = wp_get_theme(); echo $themeObj->Version; |
としても一緒ですね…。むしろそのほうがスマートですねw
コメントする