【WordPress】投稿ページ全てにショートコードを挿入する方法〜テンプレートファイルに直接ショートコードを挿入する〜
はじめに
こんにちは、ハレガロ🦊🌕です。
早速ですが、ブログ投稿の全てのページに登録したショートコードを反映させたい時ってありませんか?
例えば投稿の最後に必ずはこのような「お問い合わせ」ボタンを表示させたい….というような場合…
ショートコードはワードプレスの管理画面▶︎投稿▶︎投稿一覧▶︎各投稿ページから呼び出す方法を使用する方もいると思いますが、今回のように全投稿に表示させたいという時は、毎回ショートコードを呼び出すのは面倒ですよね。
という訳で、この度は一括で全投稿ページにボタン(お好きなショートコード)を表示させる方法を、解説していきたいと思います🦊
ショートコードを直接テンプレートファイルに記述する方法 do_shortcode( );
do_shortcode( );
先ほどもお伝えしたように、ワードプレスの投稿画面からショートコードを呼び出す方法では、投稿ページごとに毎回その処理をするようになってしまいます。
そこで管理画面からショートコードを記述するのではなく、
テンプレートファイルに直接ショートコードを記述していく方法があります。
このような「お問い合わせボタン」を表示させていきます
1. function.phpにショートコードを登録する
// ショートコード登録(ボタン)
function my_post_btn($attrs, $content = '') {
if (is_array($attrs) && isset($attrs['link'])) {
return '<div class="entry-btn"><a class="btn" href="' . $attrs['link'] . '">' . $content . '</a></div>';
}
return '';
}
add_shortcode('btn', 'my_post_btn');
2. single.phpテンプレートファイル(各投稿ページ)にショートコードを直接記述する
<?php echo do_shortcode('[btn link="http://hogehoge"]お問い合わせ[/btn]'); ?
注意点
独自でつける関数名(my_post_btn)を add_shortcode('btn', 'my_post_btn');のところにも書くこと
function.phpに記述するadd_shortcode('btn', 'my_post_btn'); は function my_post_btn(){}の外に書かれているか確認⇛(中に書いちゃうと登録ができませんので注意⚠)
function.phpに記述するadd_shortcode('btn', 'my_post_btn');のbtnはsingle.phpに記述するショートコードの中の <?php echo do_shortcode('[btn link="http://example.com"]お問い合わせ[/btn]'); ?と同じ名前でかけているか確認
function.phpに記述するadd_shortcode('btn', 'my_post_btn');のmy_post_btnはaddに記述するショートコードの中の add_shortcode('btn', 'my_post_btn'); と同じ名前でかけているか確認
do_shortcode('[btn🦊]🐘[/btn]'); コード解説
function.phpに記載の🔽
function my_shortcode($attrs, $content = '') {}の第一引数と第二引数($attrs, $content = '')の部分を
🦊狐と🐘ぞうさんに置き換えてみたら
function my_shortcode(🦊, 🐘) {}
となり、この値がどこに入っていくかというと
single.phpに記載の🔽
<?php echo
do_shortcode('[btn link="http://hogehoge"]お問い合わせ[/btn]');
?>
の部分のここに入っていくイメージです
<?php echo do_shortcode('[btn 🦊]🐘[/btn]'); ?>
並べてみると
function my_shortcode(🦊, 🐘) {}
↓
<?php echo do_shortcode('[btn 🦊]🐘[/btn]'); ?>
狐ちゃん🦊は、「 link="http://hogehoge"」
ぞうさん🐘は、「お問い合わせ」
[btn][/btn]だけでみるとシンプルに見えてくるかもです。
[btn 🦊]🐘[/btn]
function my_shortcode(🦊, 🐘) {}の第一引数🦊は
[btn]の[]の中の値になっています
第二引数は
[btn] [/btn]の間の値になっています。
add_shortcode('btn', 'my_post_btn');の解説
btn▶︎single.phpでショートコードを呼び出す時の名前を定めている
my_post_btn▶︎functionで定めた関数の名前を記述
single.php
<?php echo do_shortcode('[名前 ○○ ]お問い合わせ[/名前]');
<?php echo do_shortcode('[btn link="http://example.com"]お問い合わせ[/btn]');
この記事が気に入ったらサポートをしてみませんか?