ショートコードを知るとwordpressで文章書くのが楽になる、かも

Author:
wordpresslogo

WordPressの機能にはショートコードってのがあります。
[aaa]
こんな感じに書く事で、functions.phpやプラグインに書かれた関数を呼び出せるのです。
SyntaxHighlighterとか使ったことある人ならおなじみかも?

使い方は簡単で、functions.phpやプラグイン内で

add_shortcode('well', 'bluth_well');

こんな感じに定義するだけ。
第一引数がショートコード名、第二引数がコールバックされる関数です。
んで、コールバック関数内で文字列をreturnするとその文字が出力される。

上記はうちのテーマに付属されているbootstrapを呼び出すプラグインだけれど、このショートコードを使うと内部関数bluth_wellが呼ばれて

こんな感じになるのです。

実際のソースはこうなっています。

	function bluth_well($atts, $content = null){
		$content = wpautop(trim($content));
		return '<div class="well">'.do_shortcode($content).'</div>';
	}

ちなみにdo_shortcodeってのは再帰的にショートコードを解析する関数です。

関数は一般的に引数を二つ持ち、第二引数が[aaa][/aaa]で挟まれた部分になります。
デフォルト引数nullにしておくとベター。
第一引数はショートコード側で渡す値になるので、関数内でどう使うかによりますね。
[aaa flag=1]
とか定義して関数内でフラグ的に使うのもありだし、
[aaa style=btn]
とか定義して関数内で追加スタイルシートみたいにするのもあり。

簡単な上に使い勝手はいいので色々とテーマやプラグイン作成者は試してみるといいと思います。
文字列出すだけじゃなく、呼ばれるたびにDBにINSERTするとかもありですしね。

こういう拡張性の高さがwordpressのいいところなので、色々試してみましょう。

フックを知るだけでwordpressの拡張性は上がる
外部のPHPファイルからWordPressの関数を呼ぶ
WordPressはYouTubeのURLを書くだけで勝手に埋め込んでくれる

Share on Facebook
Pocket