Widget Logicの設定と使い方:ウィジェットの表示・非表示を条件分岐で指定

Widget Logicの設定と使い方:ウィジェットの表示・非表示を条件分岐で指定

プラグイン「Widget Logic」を追加すると、ウィジェット毎に条件分岐を指定することができます。

特に難しい設定はありません。WordPressの条件分岐タグを利用して、プレビュー画面でGoogle AdSenseの広告を非表示にしたり、特定の記事やカテゴリでのみ広告を表示させることができます。

設定

Widget Logicを追加&有効化し、管理画面の外観「ウィジェット」から条件分岐を指定します。

※プラグインを有効化すると、ウィジェットの下に設定項目が追加されます。

Widget Logicの設定

Widget Logicの設定

また、外観「ウィジェット」画面の一番下に管理画面が追加されます。

Widget Logicの設定項目

Widget Logicの設定項目

ここは特に変更する必要はありませんが、テーマのFunction.phpの影響でWidget Logicが正常に機能しない場合は、オプションにチェックを入れて検証する及び読み込むタイミングを変更して下さい。

必要であれば、ウィジェットに設定したデータをインポート・エクスポートすることもできます。

特定ページで表示する

特定ページでのみウィジェットを表示させます。

使える条件分岐タグは、条件分岐タグ – WordPress Codexで確認して下さい。

トップページ is_home()
投稿 is_single()
固定 is_page()
アーカイブ is_archive()
カテゴリアーカイブ is_category()
タグアーカイブ is_tag()
日付アーカイブ is_date()
検索結果 is_search()
404 Not Found is_404()
プレビュー is_preview()
スマホ・タブレット is_mobile()

例えば、投稿ページでのみ表示させたいウィジェットには、「is_single()」と入力します。

投稿ページでのみ表示させる条件分岐

投稿ページでのみ表示させる条件分岐

これでこのウィジェットはトップページや固定ページでは表示されなくなります。

特定ページで非表示にする

非表示にしたい場合は、条件分岐タグの先頭に「!」を付けます。

投稿で非表示(投稿以外で表示) !is_single()
プレビューで非表示(プレビュー以外で表示) !is_preview()

下記の様に指定すれば、Google AdSenseのウィジェットをプレビュー画面で非表示にできます。

プレビュー画面で非表示にする条件分岐

プレビュー画面で非表示にする条件分岐

指定したページで表示する

ページを指定する時は、ID及びスラッグを入力します(混同も可)。

投稿(ID指定) is_single( '17' )
投稿(ID複数指定) is_single( array( 17, 19, 1, 11 ) )
特定カテゴリに属する投稿(スラッグ指定) in_category( 'wordpress' )
特定タグを含む投稿(スラッグ指定) has_tag( 'plugin' )

他にも、固定、カテゴリ、タグページを指定することができます。

記述方法は、個別固定カテゴリタグを参考にして下さい。

下記の様に指定すれば、ワードプレスカテゴリに属する投稿でウィジェットが表示されます。

wordpressカテゴリに属する投稿で表示する条件分岐

wordpressカテゴリに属する投稿でのみ表示する条件分岐

複数の条件分岐の組み合わせる

複数の条件分岐を指定する場合、or(または)は「||」、and(かつ)は「&&」で追加します。

投稿または固定 is_single() || is_page()
アーカイブかつカテゴリアーカイブを除く is_archive() && !is_category()

下記の様に指定すれば、投稿ページと固定ページでウィジェットが表示されます。

投稿と固定ページで表示する条件分岐

投稿と固定ページで表示する条件分岐

最後に

そこまで複雑な条件分岐を使うことはないと思いますが、最初に紹介した特定ページでのみ表示させる分岐タグや特定カテゴリに属する投稿でのみ表示させる分岐タグぐらいは覚えておくと便利です。

後は、カテゴリごとに広告を切り替えたり、必要のないブログパーツを隠すのに使って下さい。

スポンサーリンク
スポンサーリンク