Post Snippetsで変数を使うTips

今日は、Wordpressのプラグイン『Post Snippets』で変数を使う方法を検討します。『Post Snippets』は手軽にショートコードを使える便利なプラグインですが、変数の使い方を知るとさらに使いやすさが広がります。

Post Snippets

『Post Snippets』は、Wordpressのプラグインの一つです。ショートコードを作るためのプラグインですね。使い方としては次のようなシチュエーションが考えられるでしょうか。

  • 異なる複数のセクションで同じコンテンツを挿入する場合
  • 投稿や固定ページ内にPHPコードを挿入する場合

 特に、複数のセクションに同じコンテンツを挿入し、それを定期的に変更する場合などにこのプラグインは大活躍します。もっとも、このような場合、ウィジェットを使うなど、アプローチは複数ありますが、引き出しを増やしておくのは、Wordpressを使っていく上で大切なことですよね。

 またPHPコードを挿入する場合、ExecPHPという有名なプラグインがありますが、セキュリティの観点から使用すべきではないという見解もあることから、それに代わるアプローチとして取り入れるという選択もあります。

Post SnippetsでPHPと変数を使う

 それでは早速、具体的な使い方を検討していきます。

Post Snippetsの画面例

タイトル欄

 タイトル欄にショートコード名を設定します。

PHPを使う

 タイトル欄の右ブロック下部の「SHORTCODE」と「PHP CODE」をそれぞれチェックし、「ショートコードでPHPを使う」という設定します。

PHPコードを入力する

「Snippet」欄にPHPコードを入力します。PHPを使う場合、最初の『<?php』と最後の『?>』は省略しなければなりません。

変数を設定する

 次に、変数を設定しましょう。変数の設定は、「Variables」欄に変数名を入力します。上の例は、任意のカテゴリーの記事タイトルを任意の数だけ表示させるというショートコードです。
 任意のカテゴリーとして「cat」、表示させる記事の本数を「kazu」として設定しています。変数を複数使う場合、半角カンマのみで区切ります。
 そして、該当する部分に変数を埋め込みます。

query_posts('posts_per_page={kazu}&order=desc&cat={cat}');

 変数は「{}」で囲みます。これで変数の設定は完了ですので、あとはループで必要な設定を行います。

ショートコードを使う

 ショートコードは[list kazu="5" cat="3"]のように使います(カッコは半角にします)。

ウィジェット内でショートコードを使う場合

 ウィジェット内でショートコードを使う場合、functions.phpに一文を書き足しましょう。

add_filter('widget_text', 'do_shortcode');

まとめ

 ページによって掲載するコンテンツを変えるのはユーザーの利便性を高める上で大切ですよね。このプラグインと簡単なPHPコードを組み合わせるだけで、プラグインを増やすことなく様々にコンテンツをカスタマイズしていくことができそうです。
 ご参考になさってください。