とあるエンジニアの作業ブログ

Affiliate Web製作 運用

【WordPress】アフィリエイト広告の自動出し分け

投稿日:

ブログに表示するアフィリエイト広告を自動で出し分けるショートコードを作りました。CSVで表示したいアフィリエイト広告を複数登録しておけば、ランダムに出し分けてくれます。

処理概要

  • 広告タイプを引数として渡すとその広告タイプに応じた広告をランダムに決定し、その広告を表示するためのhtmlコードを返す
  • 広告タイプがnullの場合は全ての記事からランダムに返す
  • 候補となる広告はCSV形式で与える
  • デフォルトではCSVはfunctions.phpと同じディレクトリに配置する

ソースコード

functions.phpに以下コードを追加します。

広告データを登録するCSVは、functions.phpと同じディレクトリにaffiliate.csvという名前で配置します。
CSVのレイアウトとサンプルは以下です。

 

使い方

でショートコードを呼び出すだけです。
なお、CSVの置き場や名前を変えたい場合は$filepath = dirname(__FILE__)."/affiliate.csv";を変更すればOKです。

注意点

  • CSVの2カラム目に登録するHTMLですが、,(カンマ)が入っていなければなんでもOKです。もしカンマを含むHTMLを埋め込みたいなら囲み文字をうまく使うかTSV形式などを読み込むように改造してください
  • 引数がCSVに登録されているものでないと広告が1件も表示されなくなります
  • 同じページ中で同一広告タイプで呼び出すと同じ広告が表示される場合があります

-Affiliate, Web製作, 運用
-,

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

MAMPを移行したらphpMyAdminが起動しなくなった

古いMacからMAMPを個別に移行したら、phpMyAdminが起動しなくなった。 どうやらMySQLのユーザー/パスワードが不一致になってしまったようだ。 関連して他のエラーも発生したため、一連で対 …

【WordPress】画像URLをショートコード化する

imgタグなどでsrc属性を指定する際の、画像uriをショートコード化して環境差異を無くします。 目次 作業の目的 メディア設定の変更 functions.phpにuploadsディレクトリを返すショ …

GulpでWordPressのCI 〜設計編〜

WordPressのテーマファイルをローカルで開発してgithubにpush、そのままサーバーまでデプロイするCIを実現しようと考えています。自分の環境とか踏まえてまずはどうやって実現するか設計しまし …

Stinger8のサイドバーにプロフィールを表示する

Stinger8のサイドバーにプロフィールを表示します。 目次 前提 作業手順 ウィジェットにHTMLを記述 CSSで見た目を整える 前提 WordPressがインストールされている Stinger8 …

CSSで背景(background-color)を斜めにする

本サイトの紹介ページのように、CSSだけで背景を斜めにします。 目次 やりたいこと HTMLとCSS ポイント やりたいこと 以下のように右斜め上を支点として回転させ、二つのイメージが同色で重なること …