ホームページのページごとにアドセンス表示・非表示する

ホームページ・ブログの収益化方法にはいくつかあります。最近はALISやnemlogのように直接収益を獲得するビジネスモデルが出てきましたが、まだまだ広告が主流だと思われます。

広告の一つにグーグルアドセンスがあります。今回は、グーグルアドセンスの表示・非表示をページごとに設定してみます。

※ホームページ作成ソフトには concrete5 を使用します。

コード

<?php
/*
Copyright(C) 2018-2019 Fumito MIZUNO
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php
*/

namespace Concrete\Package\OunziwAdsense;

defined('C5_EXECUTE') or die(_("Access Denied."));
use Events;
use View;
use Page;
use Core;

class Controller extends \Concrete\Core\Package\Package {
  protected $pkgHandle = 'ounziw_adsense';
  protected $appVersionRequired = '8.3';
  protected $pkgVersion = '0.8';
  public function getPackageDescription() {
    return t("Dertermines whether a page outputs Adsense or not.");
  }
  public function getPackageName() {
    return t("Adsense");
  }
  public function on_start() {
    Events::addListener('on_page_view', array($this, 'on_page_view'));
  }
  public function on_page_view() {
    $adsensecode = '
Put Your Adsense Code Here
';
    $c = Page::getCurrentPage();
    $dh = Core::make('helper/concrete/dashboard');
    if ($c->getCollectionPath() != '/login' && $c->getCollectionPath() != '/register' && mb_substr($c->getCollectionPath(),0,8) != '/account' && !$dh->inDashboard()) {
      if ($c->getAttribute('no_adsense')) {
        // Do not output adsense code.
      } else {
        $view = View::getInstance();
        $view->addHeaderItem($adsensecode);
      }
    }
  }
}

オープンソース(MITライセンス)で公開しています。

使い方

前準備が必要になりますのでご注意ください。

1. 「Put Your Adsense Code Here」の部分に、アドセンスのコードを貼る
2. 管理画面で、no_adsenseというページ属性を作る

前準備を行ったら、管理画面でアドセンス表示・非表示の設定が可能になります。↓

no_adsenseにチェックすると、そのページにはアドセンスを表示しなくなります。

実際の例は↓のページをごらんください。


その他のページもごらんください。



公開日:2019/02/27
獲得ALIS:23.41
mizuno's icon'
  • mizuno
  • @mizuno
月70万PVウェブメディア「計算フォーム」 https://calculator.jp/ でウェブ集客支援。書籍「WordPressユーザーのためのPHP入門」他一冊。TWITTER: @ounziw
コメントする
コメントする