概要
apply_shortcodes
関数は、WordPressにおけるショートコードの変換を処理するための関数です。この関数は、特に次のような機能を実装する際によく使用されます:
- 投稿やページコンテンツにショートコードを埋め込む。
- カスタムフィールドで使用されるショートコードを評価する。
- プラグイン内でのショートコードの統合。
- テーマのテンプレートファイル内でショートコードを使用。
- ウィジェットの文言でショートコードをサポートする。
- 短いリンクやボタンなどを生成するショートコードの実装。
- カスタムのユーザーインターフェース要素を追加するためのショートコードの生成。
- 他のコンテンツ要素と連携した高度な機能を持つショートコードを使用。
構文
string apply_shortcodes( string $content );
パラメータ
string $content
: ショートコードを含む文字列。
戻り値
string
: ショートコードが適用された後の文字列。
関連する関数
使用可能なバージョン
- WordPress 2.5.0以降。
コアファイルのパス
wp-includes/shortcodes.php
サンプルコード
サンプル1: 単純なショートコードの適用
$content = "Hello [greet]!";
echo apply_shortcodes($content);
このサンプルでは、[greet]
ショートコードが含まれた$content
を定義し、apply_shortcodes
を用いてショートコードを変換します。
引用元: https://developer.wordpress.org/reference/functions/apply_shortcodes/
サンプル2: カスタムショートコードの定義
function custom_greet_shortcode() {
return "Hello, World!";
}
add_shortcode('greet', 'custom_greet_shortcode');
$content = "Greetings: [greet]";
echo apply_shortcodes($content);
ここでは、greet
というショートコードをカスタム関数で定義し、その後にapply_shortcodes
を使用して変換を行っています。
引用元: https://developer.wordpress.org/reference/functions/add_shortcode/
サンプル3: 複数ショートコードの適用
function hello_shortcode() {
return "Hello";
}
function world_shortcode() {
return "World!";
}
add_shortcode('hello', 'hello_shortcode');
add_shortcode('world', 'world_shortcode');
$content = "[hello], [world]";
echo apply_shortcodes($content);
このサンプルでは、二つのショートコードを定義し続けて変換を行います。
引用元: https://developer.wordpress.org/reference/functions/add_shortcode/
サンプル4: ショートコード引数の使用
function greet_with_name($atts) {
$atts = shortcode_atts(array('name' => 'Guest'), $atts);
return "Hello, " . esc_html($atts['name']) . "!";
}
add_shortcode('greet', 'greet_with_name');
$content = "[greet name='Alice']";
echo apply_shortcodes($content);
ショートコードに引数を追加し、その引数を利用してカスタマイズされた出力を生成しています。
引用元: https://developer.wordpress.org/reference/functions/shortcode_atts/
サンプル5: ショートコードのエスケープ
function escape_shortcode_content($content) {
return esc_html($content);
}
add_shortcode('escape', 'escape_shortcode_content');
$content = "[escape]This is <b>bold</b> text![/escape]";
echo apply_shortcodes($content);
ショートコードを用いてコンテンツをエスケープし、安全に出力されるようにします。
引用元: https://developer.wordpress.org/reference/functions/esc_html/
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | 〇 |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | 〇 |
register_sidebar | |
wp_loaded | 〇 |
send_headers | |
parse_query | |
pre_get_posts | |
wp | 〇 |
template_redirect | |
get_header | |
wp_head |
非推奨または削除されたバージョン
- 現在のところ、
apply_shortcodes
関数は特定のバージョンで非推奨や削除されていません。