add_shortcode

説明

void add_shortcode( string $tag, mixed $func )
ショートコード(独自タグ)を追加する。ショートコードは、投稿記事内でテキスト内容がない[tag]や、テキストを内包する[tag]テキスト[/tag]の書式で使用できる独自タグのこと。標準の状態では、 the_content関数によって表示する直前のフィルター処理内でパラメータ$funcで指定した関数・メソッドが実行される。

パラメータ

  • $tag
    タグ名。
  • $func
    関数名またはメソッドを配列(例:array( $this, 'name' ))で指定。

返り値

返り値はありません。

注意

登録の際パラメータ$funcが有効かどうかを調べるが、無効な場合でもエラーは返らない。また、すでにパラメータ$tagで指定されたショートコードが登録されている場合は上書きされる。
なおパラメータ$funcで指定した関数・メソッドでは、独自処理(テキスト加工)した文字列を返すこと(echoやprint関数を使って表示してはいけない)。

使用例

  • [func_link]というショートコードを追加する。
    <?php
    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>';
    }
    ?>
  • クラスを使用して[var_link]というショートコードを追加する。
    <?php
    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>';
    	}
    }
    ?>

最終更新 : 2018年05月27日 10:51



お勧め

スマートフォン向けの振り分けを自前で行う(2012年1月23日 更新)

PC向けのサイトをスマートフォン対応する場合、WPtouchやktai styleに代表されるスマートフォン対応のテンプレート切り替えプラグインを使用するのが一般的。そういったプラグインはテンプレート切り替え以外の機能も備えており、そういった機能は必ずしも必要ではない。そんなわけで、ここでは超シンプルなスマートフォン向けのテンプレート切り替えを実現する方法を紹介する。

使っていないか確認しないとね!(2017年11月18日 更新)

2003年に誕生したWordPress。その歴史の中には、廃止予定(deprecated)となっている関数がいくつも存在する。それらの関数をテーマやプラグインで使用するべきではないし、使用しているなら代替の関数に書き換えるべきである。ここでは3.24.9.0現在、廃止予定となっている関数をまとめて紹介する。

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

wp_titleからwp_get_document_titleへ(2018年5月27日 更新)

先週、WordPress 4.4 beta1(以降4.4 beta1)が公開されました。この4.4 beta1では新テーマ「Twenty Sixteen」が追加されたほか、wp-includesディレクトリ以下のファイルが大幅に変更された感じです。

初期状態で「抜粋」ウィジェットを表示する(2014年1月7日 更新)

投稿編集ページのウィジェットは標準で表示されるものとされないものがある。フォーラムに『投稿の編集画面にデフォルトで抜粋を表示させたい』という投稿があったので、ちょっと調べてみた。