WordPress (Cocoon) で自分だけ広告を非表示にする方法

WordPress
WordPressブログ
0

WordPressで自分が記事を見るときは広告を非表示にしたいが、収益化はしたいので他のユーザには表示したいという要望がすくなからずあると思う。

本記事ではこれを実現する手法をまとめる。
なお、WordPressのテーマにCocoonを使っている場合の設定なので使っていない人は本記事は全く参考にならない。

スポンサーリンク

方法

メニューの「外観 -> テーマエディター」に行き、Cocoon Childのfunctions.phpに次の関数を追加する。

function is_all_ads_visible(){
	if ( is_user_logged_in() ) {
		return FALSE;
	}
	else {
		return TRUE;
	}
}

たったこれだけで自分だけ広告が非表示になり他のユーザには表示される。

Cocoonではis_all_ads_visible()関数がTrueのとき広告が全て表示され、Falseのとき広告が全て非表示になる。
また、is_user_logged_in()関数は閲覧しているユーザがログインしているユーザの場合にTRUEを返す関数である。
したがって、上のような関数を追加することで自分だけ広告を非表示にすることができる。

他のアカウントから閲覧したり、ログアウトしてから閲覧したりすることで広告が表示されていることを確認できる。

スポンサーリンク

参考

追加したis_all_ads_visible()関数は次のように定義されている。(Githubを参照

//広告を全て表示するか
define('OP_ALL_ADS_VISIBLE', 'all_ads_visible');
if ( !function_exists( 'is_all_ads_visible' ) ):
function is_all_ads_visible(){
  return get_theme_option(OP_ALL_ADS_VISIBLE, 1);
}
endif;

子テーマのfunctions.phpにis_all_ads_visible()関数が定義されていなければ、Cocoon設定で指定した表示(True)・非表示(False)に設定される。

つまり、子テーマ(Cocoon Child)のfunctions.phpis_all_ads_visible()関数を定義することでカスタマイズできるようになっている。(とてもありがたい)
is_user_logged_in()は閲覧しているユーザがログインしているユーザの場合にTRUEを返す関数である。(ここを参照)

スポンサーリンク
H-MEMO

コメント