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

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

「関数リファレンス/add shortcode」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(日本語へ翻訳)
(en:Function Reference/add shortcode 03:12, 22 April 2015 Birgire 版を反映。)
 
1行目: 1行目:
 +
<div id="Description">
 
== 説明 ==
 
== 説明 ==
 +
</div>
  
[[ショートコード_API|ショートコード]]タグへのフックを追加します。
+
[[ショートコード_API|ショートコード]]タグ用のフックを追加します。
  
== 使用法 ==
+
<div id="Usage">
 +
== 使い方 ==
 +
</div>
  
<pre>
 
 
  <?php add_shortcode( $tag , $func ); ?>
 
  <?php add_shortcode( $tag , $func ); ?>
</pre>
 
  
 +
<div id="Parameters">
 
== パラメータ ==
 
== パラメータ ==
 +
</div>
  
{{Parameter|$tag|string|記事の本文より検索する、ショートコードタグ}}
+
{{Parameter|$tag|文字列|投稿の本文から検索する、ショートコードタグ}}
{{Parameter|$func|callable|ショートコードが見つかったときに実行されるフック}}
+
{{Parameter|$func|関数名|ショートコードが見つかったときに実行するコールバック関数}} <!-- callable を「関数名」と訳した gblsm 15-Jun-2015 -->
  
 +
<div id="Return_Values">
 
== 戻り値 ==
 
== 戻り値 ==
 +
</div>
  
; (なし)
+
この関数は値を返しません。
  
== ==
+
<div id="Examples">
 +
== 用例 ==
 +
</div>
  
ショートコードタグの最も簡単な例 : [footag foo="bar"]
+
ショートコードタグの最も簡単な例:
 +
<tt>[footag foo="bar"]</tt>
  
function footag_func($atts) {
+
<pre>
      return "foo = {$atts[foo]}";
+
function footag_func( $atts ) {
}
+
return "foo = {$atts['foo']}";
add_shortcode('footag', 'footag_func');
+
}
 +
add_shortcode( 'footag', 'footag_func' );
 +
</pre>
  
デフォルトの属性を使ったより良い例 : [bartag foo="bar"]
+
属性に適切なデフォルト値を与えた例:
 +
<tt>[bartag foo="bar"]</tt>
  
function bartag_func($atts) {
+
<pre>
      extract(shortcode_atts(array(
+
function bartag_func( $atts ) {
      'foo' => 'no foo',
+
$atts = shortcode_atts( array(
      'baz' => 'default baz',
+
'foo' => 'no foo',
      ), $atts));
+
'baz' => 'default baz'
      return "foo = {$foo}";
+
), $atts, 'bartag' );
}
+
add_shortcode('bartag', 'bartag_func');
+
  
コンテントを囲んだ場合の例 : [baztag]content[/baztag]
+
return "foo = {$atts['foo']}";
 +
}
 +
add_shortcode( 'bartag', 'bartag_func' );
 +
</pre>
  
function baztag_func($atts, $content='') {
+
コンテンツを囲んだ場合の例:
      return "content = $content";
+
<tt>[baztag]content[/baztag]</tt>
}
+
add_shortcode('baztag', 'baztag_func');
+
  
== 備考 ==
+
<pre>
 +
function baztag_func( $atts, $content = "" ) {
 +
return "content = $content";
 +
}
 +
add_shortcode( 'baztag', 'baztag_func' );
 +
</pre>
  
各ショートコードには、一つだけフックを定義することができます。そのため、他のプラグインが同じショートコードを持っていると、他のプラグインによってフックが上書きされるか、または他のプラグインのフックを上書きする事態になります。どちらになるかは、インクルードの順番または実行の順番に左右されます。
+
クラスを使って作られたプラグインの場合:
  
ショートコードの属性名は常に英小文字に変換されてハンドラ関数に渡されます。属性値についてはそのような変換はありません。
+
<pre>
 +
class MyPlugin {
 +
public static function baztag_func( $atts, $content = "" ) {
 +
return "content = $content";
 +
}
 +
}
 +
add_shortcode( 'baztag', array( 'MyPlugin', 'baztag_func' ) );
 +
</pre>
  
== 更新履歴 ==
+
<div id="Notes">
 +
== 参考 ==
 +
</div>
  
2.5より
+
* ショートコードのコールバック関数には 3 つの引数が渡されます。ショートコードの属性、ショートコードのコンテンツ(存在する場合)、ショートコードの名前です。
  
 +
* 各ショートコードには、ひとつだけフックを定義することができます。そのため、他のプラグインが同じショートコードを持っていると、他のプラグインによってフックが上書きされるか、または他のプラグインのフックを上書きしてしまいます。どちらになるかは、プラグインの読み込み順または実行の順番に左右されます。
 +
 +
* ショートコードの属性名は常に英小文字に変換されてからコールバック関数へ渡されます。属性の値はそのまま渡されます。
 +
* '''注意:''' 属性名にマルチバイト文字は使用できません。
 +
 +
* '''注意:''' ショートコードのコールバック関数は何も'''出力してはいけません'''。ショートコードを置き換えるために使われるテキストを'''返す'''必要があります。何か出力すると予期せぬ結果につながります。これはフィルター関数についても同様です。いつ、どこから呼び出されるかをあなたは制御できないので、呼び出されたときに副作用を引き起こしてはいけません。
 +
 +
<div id="Change_Log">
 +
== 変更履歴 ==
 +
</div>
 +
 +
2.5 : 新規導入。
 +
 +
<div id="Source File">
 
== ソースファイル ==
 
== ソースファイル ==
 +
</div>
  
<tt>add_shortcode()</tt> は、 {{Trac|wp-includes/shortcodes.php}}にあります。
+
<tt>add_shortcode()</tt> {{Trac|wp-includes/shortcodes.php}} にあります。
  
== 関連 ==
+
<div id="Resources">
 +
== リソース ==
 +
</div>
 +
 
 +
* [http://generatewp.com/shortcodes/ WordPress Shortcodes Generator]
 +
 
 +
<div id="Related">
 +
== 関連資料 ==
 +
</div>
  
 
{{Shortcode Tags}}
 
{{Shortcode Tags}}
65行目: 113行目:
 
{{Tag Footer}}
 
{{Tag Footer}}
  
[[en:Function_Reference/add_shortcode]]
+
{{原文|Function Reference/add_shortcode|151045}} <!-- 03:12, 22 April 2015 Birgire 版 -->
 +
 
 +
{{DEFAULTSORT:Add_shortcode}}
 +
[[Category:関数]]
 +
 
 +
[[en:Function Reference/add shortcode]]
 +
[[it:Riferimento funzioni/add shortcode]]

2015年6月15日 (月) 18:29時点における最新版

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

使い方

<?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最新版との差分