WordPress で記事を書いていると、
「広告リンクどう管理しよう?」
という壁に必ずぶつかります。
- 記事ごとに貼り替えるのが面倒
- どの広告をどの記事に入れたか覚えてない
- 後からリンクが変わったときの修正地獄
- キャンペーン切替に全部対応できない
実はこの悩み、
functions.php を少し触るだけでゼロにできます。
この記事では、
どのASPか、どの広告かに関係なく使える
“ZIDOOKA!式・広告インジェクションシステム”
を紹介します。

■ 結論:広告は「記事本文に書かず、テーマ内で管理」が正解
広告は記事本文にベタ貼りすると絶対に破綻します。
なぜか?
- 記事が増えるほど管理できなくなる
- 差し替えのときに全記事を修正する羽目になる
- 広告が増えると埋め込み場所も統一できない
逆に、ZIDOOKA! ではこうしています:
✔ 広告タグ → テーマ側で一元管理
✔ 記事側 → タグを付けるだけで自動で挿入される
つまり広告運用を
“コードで仕組み化する”。
これが圧倒的に楽。
■ 仕組みの考え方(抽象化版)
広告をこう扱います:
- 名前:
main_ad - 入れたい記事の条件:例)
serverタグが付いている - 入れたい場所:例)3段落目・5段落目
- 広告の中身:テーマ内で保存(読者からは見えない)
どの広告か、どのASPかは関係ありません。
必要なのは「キー」だけ。
■ Step 1:広告を“キー”で管理する(匿名化された広告倉庫)
functions.php に広告倉庫を作ります。
function zdk_get_ad($key) {
// ※本番はここに広告タグを書く(ASP名や案件はここにだけ書けばOK)
$ads = [
'main_ad' => '
<div class="zdk-ad">
<!-- ここに広告タグ -->
</div>
',
];
return $ads[$key] ?? '';
}
読者が見るコードには
広告の具体的な中身は 一切出ません。
■ Step 2:タグを付けた記事にだけ、自動で広告を入れる
記事本文の3段落目と5段落目に、main_ad を入れる仕組み。
function zdk_inject_ads($content) {
if (!is_singular('post') || is_admin() || is_feed()) {
return $content;
}
// ※特定ジャンルの記事だけに広告を適用(例:server)
if (!has_tag('server')) {
return $content;
}
$ad = zdk_get_ad('main_ad');
$parts = explode('</p>', $content);
$result = '';
foreach ($parts as $i => $p) {
if (trim($p) === '') continue;
$result .= $p . '</p>';
// 3段落目と5段落目に挿入
if ($i == 2 || $i == 4) {
$result .= $ad;
}
}
return $result;
}
add_filter('the_content', 'zdk_inject_ads');
■ これでできること
✔ 記事に広告を一切書かなくていい
本文は読みやすいまま。
✔ タグを付けるだけで広告が自動で入る
「この記事はサーバー系」
と判断したら server タグを付けるだけ。
✔ ASPが変わっても、広告本文の修正は1箇所でOK
テーマ内の zdk_get_ad() 内だけ直せば全記事に反映。
✔ キャンペーン切替も一瞬
旧広告を消して新しいのに書き換えるだけ。
✔ 広告名・ASP名・案件名は読者に一切見えない
関心のない情報は記事に出さない。
■ ZIDOOKA! 編集後記
この方法を導入してから、
「広告リンクを貼る作業」も
「貼り替える作業」も
すべてゼロになりました。
広告は「どれを貼るか」より先に
「どう管理するか」 を考えると、
ブログ運営が一気に楽になります。
仕組み化してしまえば、
100記事でも 1000記事でも、
広告の運用コストはほぼ変わりません。