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



お勧め

囲み型ショートコードとwpautop(2018年5月27日 更新)

ショートコードは投稿記事の閲覧時に動的に内容を変更できる優れもの。galleryやcaptionなどいくつかのショートコードが標準で組み込まれており、一部のプラグインではその機能を利用する手段としてショートコードが利用されている。

使っていないか確認しないとね!(フィルター編)(2019年4月24日 更新)

先週末にWordPress 5.2 Beta3(以降5.2Beta3)が公開され、正式リリースまであとわずか。ソースコードの変更点を見ていくと、wp-login.phpの中に非推奨となったフィルターが目に留まった。

Login rebuilder 2.5.0の新機能紹介(2018年12月10日 更新)

今回追加したものは、任意の名前でロックファイルを設定し、そのファイルが存在する場合は常にログイン不可にする機能である。この機能を有効にしておくことで、何らかの理由により認証に関する情報が漏洩した場合でも不正なログインを防ぐことができる。

時代はWP_Queryなのか(2011年8月1日 更新)

WordPressのテーマ作成において、メインの投稿記事とは別に特定の条件を指定した投稿内容を表示することが多々ある。つい最近まで get_posts関数を使用することが多かったのだが、最近はWP_Queryクラスを使用することが多くなってきた。

query_posts(WP_Queryクラス)で'tax_query'を使いこなす(2011年9月14日 更新)

2日にわたって投稿した「query_posts(WP_Queryクラス)でカテゴリーを絞り込む」「query_posts(WP_Queryクラス)で投稿タグを絞り込む」の続き。今日はカテゴリーや投稿タグ以外ののタクソノミーによる絞り込み、複数のタクソノミーの絞り込みの組み合わせについてまとめてみる。