• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/add shortcode

提供: WordPress Codex 日本語版
移動先: 案内検索

ショートコードタグ用のフックを追加します。

使い方

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

パラメータ

$tag
文字列) (必須) 投稿の本文から検索する、ショートコードタグ
初期値: なし
$func
関数名) (必須) ショートコードが見つかったときに実行するコールバック関数
初期値: なし

戻り値

この関数は値を返しません。

用例

ショートコードタグの最も簡単な例: [footag foo="bar"]

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

属性に適切なデフォルト値を与えた例: [bartag foo="bar"]

function bartag_func( $atts ) {
	$atts = shortcode_atts( array(
		'foo' => 'no foo',
		'baz' => 'default baz'
	), $atts, 'bartag' );

	return "foo = {$atts['foo']}";
}
add_shortcode( 'bartag', 'bartag_func' );

コンテンツを囲んだ場合の例: [baztag]content[/baztag]

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

クラスを使って作られたプラグインの場合:

class MyPlugin {
	public static function baztag_func( $atts, $content = "" ) {
		return "content = $content";
	}
}
add_shortcode( 'baztag', array( 'MyPlugin', 'baztag_func' ) );

参考

  • ショートコードのコールバック関数には 3 つの引数が渡されます。ショートコードの属性、ショートコードのコンテンツ(存在する場合)、ショートコードの名前です。
  • 各ショートコードには、ひとつだけフックを定義することができます。そのため、他のプラグインが同じショートコードを持っていると、他のプラグインによってフックが上書きされるか、または他のプラグインのフックを上書きしてしまいます。どちらになるかは、プラグインの読み込み順または実行の順番に左右されます。
  • ショートコードの属性名は常に英小文字に変換されてからコールバック関数へ渡されます。属性の値はそのまま渡されます。
  • 注意: 属性名にマルチバイト文字は使用できません。
  • 注意: ショートコードのコールバック関数は何も出力してはいけません。ショートコードを置き換えるために使われるテキストを返す必要があります。何か出力すると予期せぬ結果につながります。これはフィルター関数についても同様です。いつ、どこから呼び出されるかをあなたは制御できないので、呼び出されたときに副作用を引き起こしてはいけません。

変更履歴

2.5 : 新規導入。

ソースファイル

add_shortcode()wp-includes/shortcodes.php にあります。

リソース


ショートコード: do_shortcode(), add_shortcode(), remove_shortcode(), remove_all_shortcodes(), shortcode_atts(), strip_shortcodes(), shortcode_exists(), has_shortcode(), get_shortcode_regex(), wp_audio_shortcode(), wp_video_shortcode(), フィルター no_texturize_shortcodes /en


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/add_shortcode最新版との差分