Widget Logic テスト

先程調べたカテゴリーID3のみを表示条件にするなら次のように記載する。
in_category(‘3’)

in_tag(‘recommend’) ▲▲▲そうぞう

wp_is_mobile() : モバイル
is_home() : ホーム画面(トップページ)
is_single() : 個別記事
is_page() : 固定ページ

参考:
関数リファレンス/wp is mobile – WordPress Codex 日本語版
条件分岐タグ – WordPress Codex 日本語版

スマホから見たとき非表示にする
!is_mobile()
is_mobileは、「スマホ表示のときのみウィジェットを表示する」という条件ですが、! を頭につけることで「スマホ表示のときのみウィジェットを非表示にする」という条件付けができます。

例えばスマホ表示のときサイドバーウィジェットがサイトの下側に移動してしまいページが縦に長くなってしまった、といったときにサイドバーウィジェットに!is_mobile()と書けば、縦の長さがマシになります。

トップページだけに表示する
is_front_page() && is_home()
is_front_page()
投稿ページ、固定ページに関わらず、サイトのトップページ(フロントページ)が表示されているときtrueを返します。

固定ページをフロントページに設定している状態で、ブログの記事一覧が表示されているようなブログのメインページにウィジェットを表示させたい場合、固定ページに対してtrueを返しますがブログのメインページにはfalseを返すので、フロント固定ページにのみ表示されてしまいます。

&&
AND(論理積)のことです。A && Bの場合、AとBのどちらもtrueの場合にtrueを返すようになります。AかB、どちらか片方でもfalseの場合は、もう片方がtrueであってもfalseを返します。

AとB、どちらも外せない条件である場合に使用します。

is_home()
ブログのメインページが表示されているときにtrueを返します。

固定ページをフロントページに設定している場合は、ブログのメインページが表示されているときにウィジェットが表示されますが、固定ページは設定で「投稿ページ」としない限りはfalseを返します。

ブログの最新の投稿を並べた、ブログのメインページをフロントページにしていて、今後それを変えるつもりがないなら、is_home()の記述だけで期待値を満たすと思います。

is_front_page() && is_home()
フロントページであり、さらにそれがブログのメインページである場合にウィジェットを表示します。

フロントページが「投稿ページ」に設定されていない固定ページだったり、固定ページをフロントページとしたときのブログのメインページが表示されているときは、ウィジェットは表示されません。

スマホで見たときに限りトップページだけに表示
is_mobile() && is_front_page() && is_home() || !is_mobile()
スマホからの表示であり、さらにそれがトップページである場合に表示、またはスマホ以外からの表示であるときにウィジェットを表示します。

|| は論理和のことで、&&のときはどちらの条件にも合わないと表示されませんでしたが、論理和の場合はどちらか一方の条件に合っていれば表示されます。

スマホはトップページにだけカテゴリーウィジェットを表示させたい、PCから見たときは普通に表示させ続けたい、といったときに使えます。

その他条件分岐タグの例
is_single()
投稿ページにのみウィジェットを表示します。固定ページには表示されません。

括弧内を( ‘114514’ ) にすると、投稿ページのIDが114514の場合のみ表示されます。

( ‘Beast’ )とすると、Beastというタイトルの投稿ページにのみ表示されます。

is_page()