do_shortcode

説明

string function do_shortcode( string $content [ , bool $ignore_html = false ] )
文字列に含まれるショートコードを変換する。

パラメータ

  • $content
    投稿記事などの文字列。
  • $ignore_html
    [4.2.3]HTML要素内のショートコードを実行しない場合はtrueを、実行する場合はfalseを指定(省略時はfalse)。

返り値

ショートコードが変換された文字列を返す。

注意

このdo_shortcode関数は、 the_content関数のフィルターとして使用されており、投稿記事を表示する際に自動的に実行されている。ショートコードは投稿記事以外でも使用でき、 add_filter関数を使用するか、テーマやプラグイン内で実行することで、任意の文字列を対象にショートコードを変換することができる。

また囲み型ショートコードでそのコンテントの中にショートコードを含める(ショーコードが入れ子になる)場合には、ショートコード関数の返り値を返す直前で本関数を呼び出す。

function shortcode_example_func( $atts, $content='' ) {

	// $contentを適宜処理

	return do_shortcode( $content );
}
add_shortcode( 'exp', 'shortcode_example_func' );

[4.2.3]HTML要素(コメントを除く)内のショートコードを先に実行する。
[4.2.3]ショートコードの実行結果を返す前に無効なショートコードのアンエスケープ処理を行う。


使用例

  • ショートコードを変換する。
    <?php $decoded = do_shortcode( $content ); ?>

フィルター

実行するフィルターはありません。

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/shortcodes.php

最終更新 : 2020年04月02日 11:21



お勧め

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。

Twenty Seventeenのフォントサイズを変更してみた(2021年12月15日 更新)

先日投稿した「続テーマを変更せずにWebフォントを使ってみた」では、テーマ「Twenty Seventeen」でもWebフォントを使えるようにした。その際、「Twenty Seventeen」のフォントサイズが少し小さく感じたので、今回はフォントサイズを調整してみた。

HTML entities button:プラグイン作ってみました(2021年4月28日 更新)

以前投稿した「HTML編集モードに定型文ボタンを追加する」をアレンジして、HTML編集モードに特殊文字(HTMLエンティティ)を挿入できるボタン、顔文字を挿入できるボタン、過去の投稿ページのリンクを挿入できるボタンを追加するプラグインを作ってみました。HTML編集モードの作業効率を向上させるプラグインです。2.1.0では「Dashiconsの挿入」を追加しました。HTML編集モードをメインに使用されている方は、お試しあれ。

5.7の機能拡張:エクスポートファイルに更新日時が追加ほか(2021年2月23日 更新)

WordPressはサイト移行を支援する機能として投稿情報のエクスポート機能を備えている。5.7ではこのエクスポート機能が改良され、更新日時情報が追加されるようだ。

query_posts(WP_Queryクラス)でカスタムフィールドを使う(2011年9月15日 更新)

先週3回にわたってtax_queryパラメータを使ったカテゴリーや投稿タグ、投稿フォーマットの絞り込みを整理したが、その途中で目に付いたのが'meta_query'パラメータ。この'meta_query'パラメータは、カスタムフィールドの絞り込み条件を指定するためのもので、3.2で登場した新しいパラメータのようだ。