ショートコードが使える場所

2019年2月23日

当サイトはアフィリエイト広告を利用しています。

ショートコードは、追加機能を単に表示するためのWordpress用の記述です。
プラグインなどもショートコードが提供されているものは、ショートコードを使って好きな場所に表示することができます。
人気投稿を表示するプラグインのwp popular postもショートコードを使って表示することができます。

ショートコード書き方

ショートコードの基本のフォーマットは、カッコで囲んだ中に指定のショートコードを書きます。
※プラグインのショートコードがあるかは、調査が必要。

[ショートコード名]

ショートコードを書く場所

ショートコードは、テンプレートのPHPファイルに書かなくても利用できます。

主な利用場所として

・エディターの編集画面
Wordpress5.x前のエディターであれば、編集画面にショートコードを記述すれば、それが自動変換されて表示されます。
※ブロックエディターでは表示されません。

・ウィジェットのカスタムHTML
ウィジェットのカスタムHTMLの中にショートコードを書くと自動変換されて表示されます。

PHPファイルで書く場合

テンプレートのPHPファイルにもショートコードを記述することができます。
do_shotcodeを使って記述します。

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

ショートコードを自作する場合

自分でプログラムを書いて、ショートコードに登録すると、自作ショートコードや機能を好きな場所に追加することができます。
add_shortcodeでのポイントは、returnで返されたものを表示するという部分です。
※function内でechoしても意味がありません。

function aiueo_function() {
 return "aiueo";
}
add_shortcode('aiueo' ,'aiueo_function');

echo do_shortcode('[aiueo]');

//aiueoと表示されます。

wordpress popular postのショートコード

wordpress popular postのショートコードのサンプルです。
ショートコードにパラメータをもたせて、その値を読み込んでいます。

ショートコード内で、
・テキストは、ダブルコーテーションで囲む
・数字はそのまま

パラメータには、HTMLも含まれており、タグに対するclass指定する時のダブルコーテーションは、エスケープされて「&quot;」となっています。
※長いので分かりやすいように、改行しています。

[wpp
range="custom"
time_quantity=3
time_unit="day"
stats_views=0
order_by="views"
stats_date=1
stats_date_format="Y年m月d日"
thumbnail_width=300
thumbnail_height=100
title_length=25
header="人気記事"
header_start="<h2 class=&quot;wpp_hdttl&quot;><span>"
header_end="</span></h2>"
limit=12
post_html="<div class=&quot;wpp_pop&quot;><div class=&quot;wpp_thumb&quot;>{thumb}</div><div class=&quot;wpp_metainfo&quot;><span class=&quot;wpp_metainfocat&quot;>{category}</span><span class=&quot;wpp_metainfodate&quot;> - {date}</span></div><div class=&quot;wpp_metattl&quot;><h3 class=&quot;wpp_metattlh3&quot;><a href=&quot;{url}&quot;>{text_title}</a></h3></div></div>"]

-ワードプレス
-,