記事本文やテキストウィジェットでPHPを使うショートコード
本文内で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="https://www.postit-web.com">ホーム</a>
(2)テンプレートURLを呼び出す例
画像表示に使用。
<img src="https://www.postit-web.com/wp-content/themes/wordpress_note/images/○○○○.jpg">
(3)今日の日付を呼び出す例
今日の日付を表示。
<p>今日は[today_date]です。</p>