昔からあるWPのプラグインみたい
ですが、先日知ったばかりで、と
ても助かったので感謝も込めて
ご紹介。WordPressのウィジェット
単位で簡単に条件分岐する事が
出来ます。
ウィジェット単位で条件分岐できるプラグイン。結構前から存在してるんですね。初めて知りました。かなり便利ですねこれ。
Widget Logic
先日、クライアントさんの要望でTwitterアカウント名とツイート数を指定してツイート表示を簡単に管理できるように、上記のようなウィジェットを作成しました。
そのウィジェットをページ毎に表示したりしなかったり出来ないか、という追加要望を頂きました。スタッフの紹介ページ毎にそれぞれのツイートを表示したい、というものです。
簡単に出来ないか方法を探したところ、見つかったプラグインがWidget Logicだったんですが、結構前から存在してたみたい・・知らずに損した。
ウィジェットにコンディショナルタグを書くだけ
↑ プラグインを有効化すると、ウィジェットの設定項目最下部に条件分岐タグを書く場所が追加されます。ここに、そのウィジェットを表示させたい条件を書けばOKです。
↑ こんな感じで施工しました。
ショートコードと併用すると便利っぽい
ウィジェットでショートコードを利用出来るようにすればかなり便利になるのではないかなと。ショートコードをウィジェットで利用するにはfunctions.phpに以下のコードを書きます。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
if ( !is_admin() ){ | |
add_filter('widget_text', 'do_shortcode', 11); | |
} | |
?> |
様々なショートコードを作成してウィジェットで条件分岐させられれば、テーマファイルに難しいコードを書かなくても思い通りの施工が出来そう。
よく使いそうな条件分岐タグの例
ウィジェットを条件分岐させたいときに良く使いそうなのを書いときます。
is_single() | 記事ページ |
---|---|
is_single(’20’) | ID指定した記事ページ |
is_single(‘foo-bar’) | スラッグ指定した記事ページ |
is_single(array(2, 205, 35)) | 複数ID指定した記事ページ |
is_page() | 固定ページ |
is_page(’47’) | ID指定した固定ページ |
is_page(‘foo-bar’) | スラッグ指定した固定ページ |
is_page(array(5, 20, 101)) | 複数ID指定した固定ページ |
is_page_template() | ページテンプレート |
is_page_template(‘foo.php’) | ファイル名で指定したページテンプレート |
is_category() | カテゴリーのアーカイブページ |
is_category(‘5’) | ID指定したカテゴリーのアーカイブページ |
is_tag() | タグのアーカイブページ |
is_tag(‘foo’) | スラッグ名で指定したタグのアーカイブページ |
is_tax() | タクソノミーのアーカイブページ |
is_tax(‘foo’) | スラッグ名で指定したタクソノミーのアーカイブページ |
taxonomy_exists() | カスタムタクソノミーのアーカイブページ ※is_taxonomy()は現在非推奨です |
is_archive() | アーカイブページ全般 |
is_search() | 検索結果ページ |
is_singular() | シングルページ全般※記事、固定、添付ファイルページ等 |
is_singular(‘foo’) | カスタム投稿タイプ名で指定したシングルページ |
以前書いた自作ウィジェットの作り方も合わせてご覧頂くと、今より更に表現方法が広がるかと思います。いいプラグインですね、これ。助かりました。