記事本文やテキストウィジェットでPHPを使うショートコード

shortcode

本文内でPHPを使ったりできるといいな、とずっと昔「Exec-PHP」を紹介したことがありましたが、プラグイン自体も開発は終了しており、セキュリティ的にも良くない、という記事を以前読みました。

その後、プラグインを使わなくとも、そのようなことがショートコードで可能であることを覚えたのですが、とても便利ですので遅ればせながら紹介したいと思います。

比較的よく利用しそうなショートコードを3つご紹介。
本文エリアやテキストウィジェットで利用できます。

  • (1)ホームURLを呼び出す
  • (2)テンプレートURLを呼び出す
  • (3)今日の日付を呼び出す

使い方

functions.php

ショートコードは、functions.php に追加していきます。

/* ホームURLを呼び出すショートコード */
function shortcode_url() {
    return get_bloginfo('url');
}
add_shortcode('url', 'shortcode_url');


/* テンプレートURLを呼び出すショートコード */
function shortcode_templateurl() {
    return get_bloginfo('stylesheet_directory');
}
add_shortcode('template_url', 'shortcode_templateurl');


/* 本日の日付を呼び出すショートコード */
function shortcode_today() {
    return date_i18n("Y年n月j日");
}
add_shortcode('today_date', 'shortcode_today');


/* 利用する場所 */
add_filter('the_content', 'do_shortcode');
add_filter('get_the_content', 'do_shortcode');
add_filter('widget_text', 'do_shortcode');

子テーマでの注意事項

テンプレートURL(テーマフォルダのURL)は、本来

get_bloginfo('template_url');

で呼び出しますが、子テーマを利用する場合、親テーマのディレクトリが呼び出されてしまいますので、

get_bloginfo('stylesheet_directory');

と書きます。こう書くことで、子テーマのディレクトリが呼び出されます。

本文エリアやテキストウィジェットでの書き方

(1)ホームURLを呼び出す例

リンク先に使用。

<a href="[url]">ホーム</a>

※[]は、全角で書いています。

(2)テンプレートURLを呼び出す例

画像表示に使用。

<img src="[template_url]/images/○○○○.jpg">

※[]は、全角で書いています。

(3)今日の日付を呼び出す例

今日の日付を表示。

<p>今日は[today_date]です。</p>

【出力結果】今日は[today_date]です。

※[]は、全角で書いています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です