ワードプレスの細かい設定方法を毎回忘れるので備忘録。
Adsenseの黄色の背景を透過して非表示にする変更方法
アドセンスはサイズが異なったり、レスポンシブデザインを選択すると時々上記のように黄色い余白が現れる。機能的には全く問題無いが見た目がダサい。
<ins class="adsbygoogle" style="display:block"
上記はアドセンスコードの一部分。どうやらinsという要素が邪魔をしているようだ。これを変更すればきっと上手くいく。
ins { background: #fff9c0; text-decoration: none; }
ワードプレスのstyle.cssファイルの一部分。#fff9c0という部分が怪しい。
#fff9c0をネットで検索。やはり例の黄色だ。これを変更するか削除すればOKに違い無い。しかし上記のstyle.cssファイルは実は親テーマのファイルなので小テーマのstyle.cssファイルを修正しなければならない。
ins { }
子テーマのstyle.cssの最下部に上記コードを記入。しかし、アドセンスの背景は黄色いまま。直接親テーマのstyle.cssを修正するしか無いのか!?
<ins class="adsbygoogle" style="display:block;background-color:transparent;"
親テーマの修正は最終手段として、まずはアドセンスのコードを直接上記のように編集してみた。
成功した。
ウィジェットロジック
プラグインのウィジェットロジックは便利だ。便利がゆえにかゆいところまで手を伸ばそうとするので、複雑な操作となるとなかなかネット上には落ちていない。
私が発見し、実際に運用している設定方法を中心に下記で紹介する。
トップページだけにウィジェットを表示。2ページ目、3ページ目には表示しない。
is_home() && !is_paged()
複数条件分岐
&&は、”かつ”、||は、”または”を意味する。
スマホで非表示
!is_mobile()
WordPress】Widget Logic(ウィジェット ロジック)使い方
複数ページだけに表示
is_paged()

投稿記事
一瞬、is_post()かと思い設定したが、表示されず。投稿記事に関するコードはis_single()なので注意。
カテゴリー系
カテゴリー系はかなりややこしい。特にin_category()とis_category()。in_category()とis_category()の違いは、後者がカテゴリーページだけなのに対して、前者はそのカテゴリーに属している記事が表示されている時の挙動。
投稿に直接割り当てられているカテゴリー(管理画面の新規投稿/編集でチェックしたカテゴリー)のみを考慮します。 しかし、そのカテゴリーの親は考慮しません
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/in_category
is_category( '9' ) カテゴリーID 9のアーカイブページが表示されている場合。
in_category( '5' ) (注: in_category です。) 現在の投稿がカテゴリーID 5に属する場合に true を返します。
in_category( array( 1,2,3 ) ) 現在の記事が、カテゴリID 1、2、3のいずれかに属している場合は true を返します。
! in_category( array( 4,5,6 ) ) 現在の記事が、カテゴリID 4、5、6のいずれにも属していない場合は true を返します。先頭に「!」が付くことに注目してください。
タグ系
タグ系もカテゴリー系と同様かとおもい、in_tag()で設定してみたがうんともすんとも言わない。しかたなくグーグルで調べると下記の結果に。タグで条件分岐なんてする人いないんだなと思いつつも、ワードプレスの奥深さに脱帽
やりたかった特定のタグ付けがされている記事だけにウィジェット表示することをhas_tag()をつかって成功。普通hasなんて思いつかんだろう。
- is_tag()
- タグの一覧表示のページ(アーカイブページ)が表示されている場合。
- is_tag( ‘casino’ )
- ‘casino’ というスラッグのついたタグの一覧表示のページ(アーカイブページ)が表示されている場合。
- is_tag( array( ‘casino’, ‘korea’, ‘adsense’ ) )
- ‘casino’ または ‘korea’ または ‘adsense’ というスラッグのついたタグの一覧表示のページ(アーカイブページ)が表示されている場合。
- has_tag()
- タグのある投稿が個別に表示されている場合。バージョン2.7以前ではループ内で使う必要がある。
- has_tag( ‘casino’ )
- ‘casino’ というタグのある投稿が個別に表示されている場合。
- has_tag( array( ‘casino’, ‘korea’, ‘adsense’ ) )
- 配列内のいずれかのタグのある投稿が表示されている場合。
不具合
複数のウィジェットにis_categoryやin_categoryで条件分岐しても最初のウィジェットがすべてのページに反映する不具合が現在でているかもしれない。何度やってもだめだった。
コメント