- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/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 (最新版との差分)