ショートコードについて

ショートコードの色々な使い方

ショートコードをテンプレートファイルに埋め込む時、
また逆にショートコードを投稿で使用したい時などのための覚書メモ。


phpファイルに記述する

投稿ページなどに投稿するショートコード[‘ショートコード文字列’]をテーマファイル(phpファイル)内で呼び出す場合。

<?=do_shortcode('[ショートコードの文字列]')?>

自作のショートコードを作る

良く使い回す内容をテンプレートファイルや投稿でも使いたい時にショートコードを作成しておくと非常に便利。
個人的に良く使うのは、ホームのurlやイメージのパスを投稿画面上でリンクを貼ったり呼び出す時などに多様しちゃいます。
functions.phpに記述する事で使用する事ができる。

//ショートコードで「https://(ホームのURL)」を出力
function home_code(){
	return home_url();
};
add_shortcode('home', 'home_code');

//ショートコードで「https://(テーマファイルまでのURL)」を出力
function theme_code(){
	return get_template_directory_uri();
}
add_shortcode('img', 'theme_code');

投稿画面で呼び出す場合は、
<a href="[home]/">Home</a>
<img src="[img]/images/sample.png">

テーマファイル内でわざわざショートコードをhomeやテーマまでのパスを呼び出すのにテーマファイル内にはテンプレートタグがあるので使用することはないけれど、一応使えます(笑)


投稿画面でphpファイルをインクルードしたい時

投稿画面上で外部phpファイルを読み込みたい時に使う。
functions.phpに記述

//ショートコードを使ってphpファイルを呼び出す
function phpfile_include($params = array()) {
extract(shortcode_atts(array('file' => 'default'), $params));
ob_start();
include(STYLESHEETPATH . "/$file.php");
return ob_get_clean();
}
add_shortcode('php', 'phpfile_include');

投稿画面で呼び出す場合は
[php file="sample.php"](sample.phpは実際呼び出すファイル名)