WordPressのカスタムフィールドでショートコードを使う

Ads

日曜日なので軽い話題。WordPress
のカスタムフィールド内でショート
コードを利用する方法です。あまり
使う事も無いかもしれませんが、
ショートコードを多用する方には
利用価値がありそうです。

使えたらいいなぁ、というシーンはたまにあるので覚えておいて損は無いと思います。

通常のカスタムフィールドの場合

<?php echo get_post_meta($post->ID, 'foo', true); ?>

おさらい。普通にカスタムフィールドを使う場合は上記のようなコードを使います。fooという名前で登録したカスタムフィールドに入れた値が、このコードで出力できます。

ですが、このままここにショートコードを入れてもそのショートコードの文字列が出力されるだけです。

apply filtersを使う

カスタムフィールドでショートコードを使うには以下のようなコードをテーマファイルに挿入します。

<?php echo apply_filters('the_content', get_post_meta($post->ID, 'foo', true)); ?>

apply filtersを使えばカスタムフィールド内でショートコードを実行させる事が出来ます。

動作テスト


↑ カスタムフィールドでギャラリーのショートコードを追加してみます。

↑ single.phpに先ほどのコードを書いたらうまく展開されました。CSSの調整をしてないので崩れてますけど。

これだけでも表現の幅が多少は広がるのでは無いでしょうか。

via:Snipplr