まず、挿入したいPHPコードをfunction.phpに以下のようにショートコードを用いて記載します。
1 2 3 4 5 |
function test_hoge() { $hoge = get_the_title(); return $hoge; } add_shortcode('test', 'test_hoge'); |
上記だと、get_the_title()で記事のタイトルを取得しています。
これを投稿内で、[test]と入力する事で、記事のタイトルを表示する事ができるようになります。
(↓こんな感じ)
ただし、状況によって無意味な<p>とか<br />とか入ったりする事があるので、以下のように対策した方が無難。
1 2 3 4 5 6 |
function test_hoge() { $hoge = get_the_title(); $hoge = preg_replace('/\<p\>|\<\/p\>|\<br \/\>/','', $hoge); return $hoge; } add_shortcode('test', 'test_hoge'); |
さらに言うと、returnの値によっては投稿の上の方に表示されてしまう事があるので、その場合は、以下のようにショートコードの関数内を
ob_start();
と
return ob_get_clean();
で囲み、returnをechoにする対策が必要になります。
1 2 3 4 5 6 7 8 |
function test_hoge() { ob_start(); $hoge = get_the_title(); $hoge = preg_replace('/\<p\>|\<\/p\>|\<br \/\>/','', $hoge); echo $hoge; return ob_get_clean(); } add_shortcode('test', 'test_hoge'); |
こちらからは以上です∠( ˙-˙ )/
コメント