[WordPress General] Shortcode をウィジェットや PHP ファイル内で利用する方法

memo.

サンプルとして、[hello] というショートコードで Hello, world! というテキストを表示する function を作成します。

functions.php
function hello_world() {
    return 'Hello, world!';
}
add_shortcode( 'hello', 'hello_world' );

記事本文で利用する

本文中にショートコードを書きます。

[hello]

テキストウィジェットの中でショートコードを利用する

add_filter で有効化します。

functions.php
add_filter( 'widget_text', 'do_shortcode' );

ウィジェットのテキストエリアにショートコードを書きます。

[hello]

PHP ファイル内で利用する

テンプレートや functions.php 内などで利用したい場合、do_shortcode を利用します。

<?php echo do_shortcode( '[hello]' ); ?>

事前に定義確認をすると良さそうです。

if ( function_exists( 'hello_world' ) ) {
    echo do_shortcode( '[hello]' );
}