スポンサーリンク

ショートコード作り方テンプレートから呼び出す方法などいろいろ

更新日:

本日の人気記事BEST10

所要時間目安: 約 2

ショートコード

WordPress カスタマイズ 伝えたいこと 備忘録

ショートコードって学べば学ぶほど色々な活用方法があるんだなぁ。と実感している毎日です。
もちろん、他にも様々な関数を使ってもっともっと多くのカスタマイズなどができると思います。
今の私には、
そこまでは、多くのサイトに掲載されている見本のコードを基本的に自分のテーマに合わせてコピー・アンド・ペースト(通称:コピペ)して使用させていただいています。m(._.*)mペコッ

ショートコードは基本的にfunction.php内に基本的なショートコードの記載方法で、
概ねは(ほとんどは)事足ります。

しかし、
やっていく内にあれ?こんなこともできるんじゃないのかなぁ。

なんて思ったり考えたりするようになってきます。

 



スポンサーリンク

 

目次

前置きはこのくらいで、さて早速ですが基本的なショートコードの記載方法です。

 

function showads() {
 return '
 // 多くの場合(方)はここにアドセンスのコードなどを記載します。
 ';
 }
 add_shortcode('adsense', 'showads');

 

次に、テンプレートから任意のコードを呼び出すショートコードの記載方法です。

 

以下の場合は例として「コンタクトフォームなどにコードを自分で作成した場合にcontact.phpというテンプレートを使用しているテーマ内にアップロードして使用します。

 

function show_contact_form() {
 get_template_part('contact'); // contact.phpの内容が表示される
 }
 add_shortcode('contact', 'show_contact_form');

 

  • ※show_contact_formという関数名は任意なのでなんでも構いません。
  • ※ショートコードを呼び出す場合のコードも「contact」でなくて任意のもので構いません。

 

ただ、上記の場合のままですとテンプレートからのコードの呼び出しは可能になりますが、
記事の任意の位置に挿入できなくなってしまいます。

 

そのままですと、一番上に表示されてしまいます。

 

なので、以下のようにちょっと加えます。

function show_contact_form() {
 ob_start();
 get_template_part('contact'); // contact.phpの内容が表示される
 return ob_get_clean();
 }
 add_shortcode('contact', 'show_contact_form');

 

こうすることによって、ショートコードをテンプレートから呼び出しても記事の一番上に来ることなく自分の思っている任意の位置に表示されるようになります。

 

他には、テンプレート内にそのままショートコードを書いてテンプレートからショートコードを呼び出すという方法もできます。

 

呼び出したい位置に以下のコードを記載します。

 

<?php echo do_shortcode('[shortcode1]'); ?>

 

こうすることによって、ショートコードをわざわざ毎回半角[ ]付きで呼び出しコードを記載しなくても勝手に表示されるようになります。

 

他にウィジェットからショートコードを呼び出す方法もあります。

 

まずは下記の1行をfunction.php内に記述します。

 

add_filter('widget_text', 'do_shortcode' );

 

※注意点としては、
add_filterの上記1行を書いてしまえばウィジェットから呼び出すことができるようになりますが、わからなくならないようにショートコードを書く上に書いておいた方が良いと思います。
(でないと、きっと後々分からなくなっちゃうと思います。)

 

これで準備は整ったので、
あとはテーマのショートコードを吐き出したい部分に以下のようにコードを記載します。

<?php echo( do_shortcode( '[shortcode1]' ) ); ?>

 

これで、テキストウィジェットに記述したコードがショートコードによって表示されるようになります。

他にも、
多くの利用方法があると思います。

 

スポンサーリンク

実際、現在私のテーマにおいては他のちょっとだけ凝った(*゜.゜)ゞポリポリ方法でショートコードをテンプレートから呼び出すようにしています。

 

これは、
現在使用しているテーマのfunction.php内のショートコードの記載方法を見ながら似たり寄ったりで、
関数名を変えて使用しています。

 

ショートコードは関数名を適当(任意)に指定して、
いくつか(いくつかの複数)のショートコードが実行可能な事が最大のメリットではないでしょうか。

是非、試してみてください。
絶対に便利だと思いますよ。!!

-WordPress, カスタマイズ, 伝えたいこと, 備忘録

スポンサーリンク




この記事が良かったら
いいね!お願いします(#^.^#)

WordPressデビュー津々浦々の
最新情報をお届けします

言えないことはTwitterで!!



よろしかったらシェアよろしくお願いします。

Copyright© WordPressデビュー津々浦々 , 2017 AllRights Reserved Powered by AFFINGER4.