ショートコードとは、前もって定義しておいたコードを、投稿記事の中で[](ブラケット)で囲んで記述すると、WordPressの関数を呼ぶことができる機能である。
少し長い、決まったhtmlタグを出力したいときなどに便利である。
ショートコードを定義する方法は以下のとおりである。
の下にある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!”]と記述して投稿してみよう。すると、実際には
と出力される。
試しに、引数を省略して[my_short_code]だけ記述して投稿すると、
のように表示される。デフォルトの値が採用されているのが分かる。
ショートコードは、7行目のreturnのところでadsenseのコードを出力させるようにして、
投稿記事から簡単にadsenseを貼れるようにする、などの使用法に応用できる。
※余談だが、このエントリーで[](ブラケット)を表示させるのに苦労してしまった。
実在するショートコードと一緒に書くと、それがショートコードとして処理されてしまうからである。
左大括弧 [ は「[」
右大括弧 ] は「]」
と書くことで表示できた。
ピンバック: 【WordPress】プラグインにショートコードを定義する – ザワプロ!