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



お勧め

固定ページを投稿ページ用テンプレートファイル(single.php)で表示する(2013年7月31日 更新)

固定ページと投稿ページのデザインが共通の場合、同じ内容のsingle.phpとpage.phpを用意すれば事足りるが、デザインの修正時は二度手間になってしまう。そこで、固定ページをsingle.phpで表示するようにできないか考えてみた。

タイトルが一致する投稿を検索する(2014年2月20日 更新)

WordPressが提供する投稿ページの文字列検索機能の実現には、 query_posts関数(WP_Queryクラス)が大きな役割を担っている。ここで紹介するのは、高機能ゆえに使いこなすのが難しいquery_posts関数(WP_Queryクラス)の使用法の一例である。

フォーム内のエスケープ処理を考える(2018年10月19日 更新)

WordPressにはエスケープ処理を行う esc_html関数と esc_attr関数がある。HTML要素(タグ)の属性値ならesc_attr関数を、それ以外はesc_html関数を使うことがほとんどだが、今回esc_html関数が適していないと思われるケースに遭遇した。

ダッシュボードのフィードボックスをカスタマイズ(2011年7月8日 更新)

管理者ページのトップページ「ダッシュボード」には、「WordPress 開発者ブログ」と「WordPress フォーラム」という2つのフィードボックスが表示されている。自分のような開発者には有益な情報をもたらしているが、一般の方には必要のない情報かもしれない。今回はこのフィードボックスをカスタマイズする方法を紹介する(管理者権限)。

classic editorプラグインを試してみた(2018年12月10日 更新)

WordPress 5.0 beta1のリリースにあわせて旧エディター環境を実現できる「classic editor」(バージョン0.5.0)が公開された。自分が公開しているプラグインの一部が旧エディター環境に依存していることもあり、さっそく試してみた。WordPress 5.0正式リリースに合わせてclassic editorも1.0がリリースされたので、それについて追記しました。