【WordPress】ショートコードの作り方と書き方

2018年11月17日

時々作ることがあるため、まとめた。

自己完結型

作り方

引数に「属性」を取り、戻り値に「展開されるコード」を返す関数を定義する。そして、add_shortcode関数を用いて、ショートコードとして追加する。

function sample_func( $attributes ) {
	return 'サンプル';
}

add_shortcode( 'sample', 'sample_func' );

書き方

[sample]

囲み型

引数に「属性」と「内容( 囲まれるデータ )」を取り、戻り値に「展開されるコード」を返す関数を定義する。そして、add_shortcode関数を用いて、ショートコードとして追加する。

function sample_func( $attributes, $content = null ) {
	return '<span class="sample">' . $content . '</span>';
}

add_shortcode( 'sample', 'sample_func' );

書き方

[sample]サンプル[/sample]

引数の渡し方

インデックスで取得する場合

引数はスペース区切りで開始タグに指定する。

[sample 2 "value"]

指定した引数は、追加時に使用した関数の引数である「属性( $attributes )」から添え字を指定して扱える。

function sample_func( $attributes ) {
	return '引数は' . $attributes[0] . 'と' . $attributes[1];
}

add_shortcode( 'sample', 'sample_func' );

名前で取得する場合

引数は「名前=引数」の形でスペース区切りで開始タグに指定する。

[sample number=2 value="value"]

指定した引数は、追加時に使用した関数の引数である「属性( $attributes )」から名前を指定して扱える。

function sample_func( $attributes ) {
	return '引数は' . $attributes['number'] . 'と' . $attributes['value'];
}

add_shortcode( 'sample', 'sample_func' );