ウィジェットのカテゴリ除外や消去・表示をする方法(in_category arrayの複数指定とis_single)

シェアする

program003

in_categoryやis_singleなどの関数を使って、
特定のウィジェットを除外・消去する方法をまとめていきます。アドセンス(Google Adsence)や広告なんかでよく使われますかね。

in_categoryでカテゴリの条件分岐する。カテゴリIDに注意すべき!?

カテゴリの条件分岐について簡単に書いておきます。

<?php if(in_category('1')): ?>
if(in_category('1')){
}

カテゴリIDは、カテゴリのマウスオーバー時した際に、表示されるIDか、スラッグで指定します。

もしくは

<?php if(in_category('カテゴリ名')): ?>

番号はわかりにくいけど、変わらない、
カテゴリ名はわかりやすいけど、カテゴリ名を変更すると変わってしまう。
と一長一短あります。

スポンサーリンク

電子書籍のおすすめ比較

in_categoryのarrayで複数指定

複数指定したい場合

<?php if(in_category(array( '1', '7' ) )): ?>

isではなくinです。念のためですけど。
is_categoryはカテゴリアーカイブそのものです。カテゴリ内にある記事はひっかけてくれません。

ちなみに、スラッグの横にある投稿の数字とカテゴリIDは、違うことがあるため注意が必要です。 おそらくカテゴリの削除なんかをしていると、数字が異なる状況になることがあると思われます……。 あれ?表示されないってことにならないために、注意しておきましょう。

スポンサーリンク

is_singleのウィジェットを除外

is_singleは個別記事の場合ですね。

is_singleを使うだけで基本的に変わりません。除外する場合が多いと思うので、除外する方法でいきます。
基礎中の基礎ですが、!で除外ですね。下記は7の記事を除外する場合です。

<?php if ( !is_single( '7' )): ?>
<?php if ( is_single() && !is_single( '7' )): ?>

もちろん、記述する場所によっては、phpで囲ってやらないときもあります。その場合、ifからはじまります。
function.php内でh2の見出しの上にアドセンスを表示する場合など、そうですかね。

if文内にechoでhtmlタグを埋め込む

少し応用すると、こんなコードもかけますかね。スマホの特定カテゴリのみ表示するコードになります。

// ピックアップ記事
if( is_mobile() ) { //スマホ
	if(in_category(array( '1', '2' ))) {
		// カテゴリAとB
		echo "<p>テスト</p>";
	} elseif ( in_category(array( '15', '16', '17' )) && !is_single( '1007' )) {
		// カテゴリCとDとE ただし、1007番の記事は除く
	} else {

	}
}

echo内にあるhtmlタグにクラス名などがある場合は注意。ダブルクオーテーションの中にダブルクオーテーションがあるためPHPが解釈できずに構文エラーとなります。

また、is_mobileはもともとある関数ではないため、functions.phpの設定が必要です。詳しくはこちらをみてください。

is_mobile()で切り分ける

記事中の表示はこちらにまとめてあります。

【応用編】Wordpressで記事中H2の手前にアドセンス/広告を入れるカスタマイズ全まとめ
Wordpressで記事中H2の手前のウィジェット(広告・アドセンス)をカスタマイズする方法についてまとめます。記事に広告やコンテンツバナー...
スポンサーリンク

プログラミングは動画やチャットで勉強できる

最後の方が難しい人や、より応用を効かせたい人はプログラミングは動画やチャットで勉強できます。詳しくはこちらをみくください。

オンラインのプログラミングスクール比較/おすすめで安いのは?エンジニア初心者のプログラムの学習サイト
エンジニア・プログラマーになりたい人のために、プログラミングスクールやサイトをまとめてみました。 個人的にはブログを運営しているため...
スポンサーリンク

シェアする

フォローする

スポンサーリンク