勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

WordPressでコンテンツ(記事)内に広告を差し込む方法

   2024/02/20  WordPress CMS

WordPress内でヘッダーやフッターではなく、コンテンツ内にバナー広告を差し込みたい。また、記事のタグやカテゴリーによってそれぞれ異なるバナー広告を表示させたいのと、あらかじめ用意した複数のバナー広告からページ表示ごとにランダムで表示させたかった。以下に実装方法をメモ。

 

jQueryで広告を差し込む

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<script>
jQuery(function(){
jQuery('p.ad').eq(2).html('広告コード'); //2個目のp.adの後に広告を差し込む。タグやclass指定部分は適宜変更する
});
</script>
<script> jQuery(function(){ jQuery('p.ad').eq(2).html('広告コード'); //2個目のp.adの後に広告を差し込む。タグやclass指定部分は適宜変更する }); </script>
<script>
jQuery(function(){
    jQuery('p.ad').eq(2).html('広告コード'); //2個目のp.adの後に広告を差し込む。タグやclass指定部分は適宜変更する
});
</script>

eq()のリファレンスは以下参照。

http://semooh.jp/jquery/api/core/eq/position/

 

機能追加

コンテンツ内に差し込む以外にも以下機能を追加したかった。

  • 記事のタグやカテゴリによって広告を変更したい
  • 予めいくつか決めておいた広告の中からランダムで表示させたい

PHP側で表示する記事のカテゴリIDを取得し、カテゴリ毎の広告コードを設定しておく。設定変更するファイルはテーマフォルダ内のsingle.phpになると思われる。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php
if( $category == 1){
$ad_code = array(
0 => '広告コード',
1 => '広告コード',
);
}else if( $category == 2 ){?>
$ad_code = array(
0 => '広告コード',
1 => '広告コード',
);
?>
<?php if( $category == 1){ $ad_code = array( 0 => '広告コード', 1 => '広告コード', ); }else if( $category == 2 ){?> $ad_code = array( 0 => '広告コード', 1 => '広告コード', ); ?>
<?php
if( $category == 1){
    $ad_code = array(
        0 => '広告コード', 
        1 => '広告コード', 
    );
}else if( $category == 2 ){?>
    $ad_code = array(
        0 => '広告コード', 
        1 => '広告コード', 
    );
?>

表示させるページに以下を設置する。これもsingle.phpになると思われる。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<?php if( $add_code ){ ?>
<script>
jQuery(function(){
jQuery('p.ad').eq(2).html('<?php echo $ad_code[array_rand($ad_code)];?>');
});
</script>
<?php } ?>
<?php if( $add_code ){ ?> <script> jQuery(function(){ jQuery('p.ad').eq(2).html('<?php echo $ad_code[array_rand($ad_code)];?>'); }); </script> <?php } ?>
<?php if( $add_code ){ ?>
<script>
jQuery(function(){
    jQuery('p.ad').eq(2).html('<?php echo $ad_code[array_rand($ad_code)];?>');
});
</script>
<?php } ?>

 - WordPress CMS

  関連記事

WordPressのPolylangで言語毎に分岐処理する方法

WordPressで多言語サイトを作成するにあたりPolylangというプラグイ ...

WordPressで自作テーマにウィジェットを登録する方法

WordPressで自作したテーマでウィジェットを登録しようとしたところダッシュ ...

WordPressの自動更新(アップデート)を無効化する方法

あるサーバで通常はロードアベレージが1未満だけど10以上に上がりサーバに接続しづ ...

WordPressでカテゴリに優先順位を決め複数カテゴリが設定されている記事の場合に優先順位の高いカテゴリの記事のみ取得

WordPressで精度の高い関連記事を表示させたい。色々試したところテーマファ ...

PHP8系で「Warning: Attempt to read property "xxxxxx" 」エラーの対応方法

PHP8系&WordPress6.4.3で「Warning: Attem ...

S