見出し画像

【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]'); 



この記事が気に入ったらサポートをしてみませんか?