お使いのブラウザは、バージョンが古すぎます。

このサイトは、Internet Explore8・Internet Explore9には対応しておりません。
恐れ入りますが、お使いのブラウザをバージョンアップしていただきますよう宜しくお願いいたします。

WordPressでAdsense用カスタムウィジェットを作成する

ブンブン丸です。
先日から当サイトの一部ページにAdsenseを組み込んでいます。

Adsense用のプラグインもいくつかありますが、今回は組み込みの際にWord Pressのカスタムウィジェットを作成しました。
コラムページのサイドバーとブログページのサイドバーにはそれぞれ違うユニットIDのタグを入れています。
と言う事でウィジェットでIDを指定できるようにしてみました。

functions.php

/* サイドバーAdsense用ウィジェット */

class MyWidget_SidebarAdsense extends WP_Widget {
    function __construct() {
      parent::__construct(
        'sidebar_adsense', // Base ID
        __( 'Adsenseサイドバー用', 'text_domain' ), 
        array( 'description' => __( 'Adsenseサイドバー用です。ID設定必須。', 'text_domain' ), ) // Args
      );
    }
    function widget($args, $instance) {
        extract( $args );
        $adsense_id = $instance['adsense_id'];
      ?>

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
     style="display:block"
     data-ad-format="fluid"
     data-ad-layout-key="-gx-24+2c-3x+ds"
     data-ad-client="ca-pub-xxxxxxxxxxxxxxxx"
     data-ad-slot="<?php echo $adsense_id; ?>"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>
		
       <?php echo $before_widget; ?>
         <?php echo $after_widget; ?>
        <?php
    }

    function update($new_instance, $old_instance) { //更新時処理
        $instance = $old_instance;
        $instance['adsense_id'] = strip_tags($new_instance['adsense_id']);
        return $instance;
    }
    function flush_widget_cache() {
      wp_cache_delete( 'sidebar_adsense', 'widget' );
    }
    function form($instance) { //ID入力用
        $adsense_id    = isset( $instance['adsense_id'] ) ? esc_attr( $instance['adsense_id'] ) : '';

        ?>
        <p>
          <label for="<?php echo $this->get_field_id('adsense_id'); ?>">
          <?php _e('ID:'); ?>
          </label>
          <input class="widefat" id="<?php echo $this->get_field_id('adsense_id'); ?>" name="<?php echo $this->get_field_name('adsense_id'); ?>" type="text" value="<?php echo $adsense_id; ?>" />
        </p>

        <?php
    }
}
add_action('widgets_init', create_function('', 'return register_widget("MyWidget_SidebarAdsense");'));

おしまい。

コメントをどうぞ

メールアドレスは公開されません。* が付いている欄は必須項目です。


お気軽にお問い合わせください。

日本VTR実験室では、お仕事のご依頼、ブログ・コラムのご感想などを受け付けております。
アプリ開発・コンテンツ制作でお困りでしたら、お気軽にご相談ください。
ご連絡お待ちしております。

お問い合わせはこちらから

03-3541-1230

info@nvtrlab.jp

電話受付対応時間:平日AM9:30〜PM6:00