my-snow-monkey.php
my-snow-monkey
my-snow-monkey.php
shortcode.php
// ------------------------------------------------
// ショートコード追加
// ------------------------------------------------
add_shortcode(
'test0125',
function() {
// 出力のタイミングを制御する
// →本文コンテンツ内のショートコードブロックの設置箇所に正しく出力される
ob_start();
require (__DIR__.'/shortcode.php');
$code = ob_get_clean();
return $code;
}
);
参考
https://hazimaru.jp/2930/
shortcode.php
- 挿入したいHTMLを記述したphpファイルを作成
- my-snow-monkeyディレクトリ内に作成
<style>
.sample-text {
color: red;
font-size: 6rem;
}
</style>
<p class="sample-text">ショートコードで<br>挿入したいhtmlを記載</p>
<p>※ショートコードで挿入しています</p>
get_template_part()では変数を渡せない
ショートコードで表示する内容を読み込む際の関数についての注意です
get_template_part() はHTMLのテンプレートをパーツとして再利用するためのもので、ロジックを注入する用途では使用しません!
読み込み元ファイルAで読み込むファイルBがあるとすると
Aで変数$aを定義した場合、Bで使用するには、 変数のスコープを考慮する必要があります。
なぜなら基本的にBから$aにはアクセスできない
get_template_part()
WordPressの組み込みの関数で、テーマファイルの部分的なテンプレートファイルを読み込むために使用します。
読み込むとは、、「関数を呼び出した位置に指定したファイルの内容を展開する」ということですね
変数スコープを渡したいなら、include locate_template()が無難です