機能: WordPress Paid Memberships Proでの会員の広告設定

WordPress/PMPro
概要

機能: WordPress Paid Memberships Proの詳細設定 | GNU social JP」で記したPMProの詳細設定の会員の広告非表示の設定方法を紹介します。

Google AdSenseなどの最近の広告はHTMLのhead要素内にscript要素のJavaScriptコードの設置が広告配置になっていることが多いです。

PMProで広告を非表示にするには、以下のPHPのif文内に広告コードを配置する必要があります。

if ( function_exists( 'pmpro_displayAds' ) && pmpro_displayAds() ) {
	//insert ad code here
}

今回はGoogle AdSenseをSite Kitプラグインで設置している状態で、これを実施します。

手順

前回の記事を参考に [Memberships]-[Settings]-[Advanced]-[Hide Ads From Members?]=[Hide Ads From All Members] を選んで、会員の広告非表示設定を有効にします。

[Site Kit]-[Settings]-[AdSense]-[Edit]-[Let Site Kit place AdSense code on your site]=false-[Confirm Changes] にします。

なお、この設定画面にログインユーザーへの広告非表示設定があります。が、無料会員と有料会員とで広告の有無を分けられないので、PMProの設定は必要に思います。

Site Kitを無効にしたので、代わりに広告コードを取得します。Google AdSenseの場合、[https://www.google.com/adsense/] のURLにアクセスしてログイン後、[広告]-[コードを取得] を選べば取得できます。

以下のようなコードです。

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-"
     crossorigin="anonymous"></script>

広告配置の前準備ができました。後はPMProのコードと広告コードを配置するのみです。「AdSenseのコードをWordPressのHEAD内に設置する方法 | アドミンウェブ」を参考にします。

WordPressのテーマ内のheader.phpに記入する方法がありますが、テーマ変更時に忘れそうなので、「AdSense に接続し、WordPress サイトで広告を表示する – Google AdSense ヘルプ」で紹介されており、インストール数が100万以上で機能もシンプルなInsert Headers and Footersプラグインを使います。プラグインをインストールして有効にして、[Code Snippets]-[+ Add Snippet]-[Add Your Custom Code (New Snippet)] を選びます。

[Create Custom Snippet] 画面が表示されるので、以下の内容を選択します。

  • Inactive: true。デフォルトだとスニペットが無効になっているので有効にしておきます。
  • Add title for snippet: スニペットのタイトル (例: pmpro_displayAds)。
  • Code Type: PHP Snippet
  • Location: Site Wide Header

PMProのコード例はPHPなので、Code TypeをPHPにすることが大事です。[Header & Footer] だとPHPコードを記入できないので、Snippetで行います。

[Code Preview] に以下を記述して [Save Snippet] を選びます。

if ( function_exists( 'pmpro_displayAds' ) && pmpro_displayAds() ) {
echo <<<'EOT'
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-"
     crossorigin="anonymous"></script>
EOT;
}

会員のログインとログアウト状態で、広告表示が変わることを確認できれば完了です。

結論

PMProの広告表示切替設定でした。Google AdSenseでの例でしたが、他の広告サービスでもほぼ同様の手順で実現できると思います。

広告非表示は会員サービスの手軽で有力な機能なので、これで実現してみましょう。

手順の中で知ったWPCodeのInsert Headers and Footersが非常に便利で驚きました。これはあまりにも便利なので、今後のために別で紹介したいと思います。

Comments

  1. This Article was mentioned on web.gnusocial.jp

Copied title and URL