WordPress 2.5から使えるようになったショートコード機能を使ってみます。
ショートコード機能では、任意の処理を登録し、それを記事の文中からコールして結果を表示することができます。
とりあえず、サンプルを書いてその機能を確認してみます。
ショートコードを追加してみる
まずは、ショートコードの登録なのですが、functions.phpに以下の処理を追加します。処理を追加するのはプラグインでも構いません。
function shortcode_test(){ return "ショートコードテスト!!"; } add_shortcode('st', 'shortcode_test');
「st」というショートコード名で関数「shortcode_test」を登録します。関数の機能としては「ショートコードテスト!!」と表示するだけの処理です。
これを管理画面の新規投稿から本文に「[st]」と記入します。
ダミーダミーダミーダミー [st] ダミーダミーダミーダミー
投稿を保存し、プレビューなどで確認してみると、以下のように表示されるはずです。
ダミーダミーダミーダミー ショートコードテスト!! ダミーダミーダミーダミー
ショートコードに引数を渡す
ショートコードを呼び出す際に、以下のように引数を渡すことができます。
[st test_val="引数テスト"]
先ほど登録した関数を修正し、引数「test_val」を受け取るように改良します。
function shortcode_test($atts){ extract(shortcode_atts(array( 'test_val' => 'デフォルトテスト' ), $atts)); return $test_val; }
投稿で試してみると「引数テスト」が出力されます。
関数extractは初期値を設定するしくみで、例えば「[st]」というように引数をセットしなかった場合に、デフォルト値「デフォルトテスト」が出力されます。
ショートコードをテンプレートから呼び出す
投稿の中のみならず、テンプレートからショートコードを呼び出すこともできます。
echo do_shortcode('[st test_val="引数テスト"]');
関数do_shortcodeを使うことで、投稿時と同じ結果を得ることができます。
コメントする