コピペでOK!カテゴリ別に広告(ウィジェットエリア)を出し分ける方法

設定イメージ

こんにちは、被リンクをチェックしていたら当サイトで紹介しているコードをまるまるコピペした記事が出てきて、怒りより「ワシもついにコピペされるようになったか〜」と謎の達成感を感じている連クミコです。

当サイトでは、構築に無料のWordPressテーマであるSimplicityを利用させていただいています。

とっても便利で広告をウィジェットを使って表示させることもできるのですが、カテゴリ別に異なる広告を出すことまでは出来ません(無料なのでここまで望んじゃいけません)。

ニーズはありそうなのでググれば出てくるかと思いきや、意外にもドンピシャな内容が書かれている記事がなかなかないようなので、カテゴリ別に広告が表示できるようカスタマイズした方法をご紹介します。

当サイトの場合は、Webマーケティングカテゴリのみ記事の下に広告を表示させるようにしています。

設定イメージ

CSSについては、4miraiさんで紹介されているものを利用させて頂きました。めっちゃキレイ!

Simplicityでヨメレバ・カエレバを綺麗に貼るCSSカスタマイズ
STINGER5や他のテーマでヨメレバ・カエレバを綺麗に貼るCSSカスタマイズはありましたが、Simplici&

Simplicityであればそのままコピペで実装出来ますし、Wordpressで構築したサイトであれば同じようなファイルが存在すると思いますので、参考になるかと思います。

スポンサーリンク

1. functions.phpの編集

管理画面 > 外観 > テーマの編集 で「functions.php」を選択し、下記のソースコードを追記します。


// Webマーケティングカテゴリの記事下に広告ウィジェット追加
register_sidebar(array(
     'name' => 'Webマーケティングカテゴリ記事下広告' ,
     'id' => 'web-marketing-underentry-ad' ,
     'before_widget' => '<div class="pr-book">',
     'after_widget' => '</div>'
));

追記ができたら「ファイルを更新」ボタンを押してください。

そうすると、 管理画面 > 外観 > ウィジェット に「Webマーケティングカテゴリ記事下広告」という名前のウィジェットエリアが追加されると思います。

2. ウィジェットエリアの編集

管理画面 > 外観 > ウィジェット の「Webマーケティングカテゴリ記事下広告」という名前のウィジェットエリアに、カスタムHTMLをドラッグ&ドロップし、広告タグを記述します。

01

※上記ではテキストを使っていますが、必ずカスタムHTMLを使うようにしてください。

記述できたら「保存」ボタンを押してください。

3. entry-body.phpの編集

再び 管理画面 > 外観 > テーマの編集 に戻り、「entry-body.php」を選択し、id=”the-content”の末尾の</div>の直前に、下記のソースコードを追記します。

Simplicityでなければ、single.phpあたりのファイルを見てもらうと、ソースコード追記に最適な位置が見つかるのではないかと思います。


<div id="the-content" class="entry-content">

〜

    <?php
    if ( in_category( 'Webマーケティングカテゴリのスラッグ名' ) ): ?>   //Webマーケティングカテゴリのみ
      <?php dynamic_sidebar( 'web-marketing-underentry-ad' ); ?>//Webマーケティングカテゴリ記事下広告ウィジェット表示
    <?php endif; ?>

</div>

ご自身の設定したいカテゴリのスラッグ名がわからない場合は、 管理画面 > 投稿 > カテゴリー で確認できます。

Webマーケティングカテゴリとその他のカテゴリにそれぞれ異なる広告を表示させたい場合は、「functions.php」でweb-marketing-underentry-ad以外にもう一つウィジェットエリアを作って、下記のソースコードを追記すればOKです。


<div id="the-content" class="entry-content">

〜

    <?php
    if ( in_category( 'Webマーケティングカテゴリのスラッグ名' ) ): ?>   //Webマーケティングカテゴリのみ
      <?php dynamic_sidebar( 'web-marketing-underentry-ad' ); ?>//Webマーケティングカテゴリ記事下広告ウィジェット表示
    <?php else: ?>                         //それ以外の記事の場合は
      <?php dynamic_sidebar( 'もう一つ作成したウィジェットのid' ); ?> //もう一つ作成したウィジェットを表示
    <?php endif; ?>

</div>

まるまるコピペしてご自身のサイトで使っていただくのは是非是非ですが、まるまるコピペして記事にするのは良心におまかせしますね(^_^;)