【WordPress】ショートコードを使ってみる

By | 2011年6月22日

ショートコードとは、前もって定義しておいたコードを、投稿記事の中で[](ブラケット)で囲んで記述すると、WordPressの関数を呼ぶことができる機能である。
少し長い、決まったhtmlタグを出力したいときなどに便利である。

ショートコードを定義する方法は以下のとおりである。

wp-content/themes/現在適用しているテーマ/

の下にあるfunctions.phpファイルの末尾に次のような記述を加える。

function my_func($atts) {
   extract(shortcode_atts(array(
       'arg1' => 'default arg1',
       'arg2' => 'default arg2',
   ), $atts));

   return "argument1:{$arg1} argument2:{$arg2}";
}
add_shortcode('my_short_code', 'my_func');

※ここでは、例のため、特に考えずにショートコードで呼び出す関数の名前をmy_funcとしたが、実際にはすでにあるWordPress関数名などと被らないように注意する必要がある。

2行目、extract()はphpの関数で、配列からシンボルテーブルに変数をインポートしている。ここでは、配列で渡ってくる引数$attsの内容をそれぞれ$arg1,$arg2という変数に割り当てている。

9行目、add_shortcode()はWordPressの関数で、ショートコードの登録を行っている。第一引数はショートコード名、第二引数は呼び出される関数の名前である。

ここまでの記述ができたらfunctions.phpを保存して、投稿画面で[my_short_code arg1=”hoge!” arg2=”foo!”]と記述して投稿してみよう。すると、実際には

argument1:”hoge!” argument2”foo!”

と出力される。
試しに、引数を省略して[my_short_code]だけ記述して投稿すると、

argument1:default arg1 argument2:default arg2

のように表示される。デフォルトの値が採用されているのが分かる。

ショートコードは、7行目のreturnのところでadsenseのコードを出力させるようにして、
投稿記事から簡単にadsenseを貼れるようにする、などの使用法に応用できる。

※余談だが、このエントリーで[](ブラケット)を表示させるのに苦労してしまった。
実在するショートコードと一緒に書くと、それがショートコードとして処理されてしまうからである。

左大括弧 [ は「[」
右大括弧 ] は「]」
と書くことで表示できた。


【WordPress】ショートコードを使ってみる」への1件のフィードバック

  1. ピンバック: blog lesson 01 - 【WordPress】プラグインにショートコードを定義する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です