フック関数:add_shortcode($tag,$func)

<?php add_shortcode($tag,$func);?>

とすると、フック関数が作れます。
※フック関数についてはWordPressのカスタマイズという記事でまとめてますのでそちらをご一読ください。

パラメータ

$tag
(string) (必須) 記事の本文より検索する、ショートコードタグ
初期値: なし
$func
(callable) (必須) ショートコードが見つかったときに実行されるフック
初期値: なし
戻り値
(なし)

実装サンプル1

記事かページで以下のようにタグコードを入れると、

[footag foo="bar"]

function.phpに作成した以下のメソッドが呼び出されます。

function footag_func($atts) {
     return "foo = {$atts[foo]}";
}
add_shortcode('footag', 'footag_func');

Outputはこんな感じです。
スクリーンショット 2014-11-26 2.02.40

実装サンプル2

タグコード

[baztag]content[/baztag]

function.php

function baztag_func($atts, $content) {
     return "content = $content";
}
add_shortcode('baztag', 'baztag_func');

Output
スクリーンショット 2014-11-26 2.10.04

実装サンプル3

returnにhtml文字列を返す。

add_shortcode( 'func_link', 'tag_func_link' );
function tag_func_link( $atts, $content='' ) {

	extract( shortcode_atts( array(

		'target' => '_self',

		), $atts ) );

	return '<a href="/function/'.$content.'.html" target="'.

		attribtue_escape( $target ).'">'.$content.'</a>';

}

書き方を変えただけ

class my_shortcode {
	function my_shortcode() {
		add_shortcode( 'var_link', array( $this, 'tag_var_link') );
	}
	function tag_var_link( $atts, $content='' ) {
		return '<a href="/var/'.$content.'.html">$'.
			$content.'</a>';
	}
}

参考

http://wpdocs.sourceforge.jp/%……_shortcode