WordPress Contact Form 7 を使ったアフィリエイト成果報酬コードの設定方法(コンバージョンタグ設置)

概要説明

アフィリエイトの成果用のコンバージョンタグをプラグイン無しで設定するカスタマイズ。特定のパラメーターが設定されている場合のみcookieを使用してWordPress Contact Form 7 にてアフィリエイト対応が可能です

functions.php
/*----------------------------------------------------
 GETパラメーターにてアフィリエイトリンクからの遷移を判定
----------------------------------------------------*/
if ( !function_exists( 'set_affiliate_header' ) ){

    function set_affiliate_header() {
        if ( isset($_GET['affiliate']) ) {
            $limitTime = time()+60*60*24; // 1日有効
            $rand_txt = makeRandStr(10);

            setcookie('affiliate' , $rand_txt , $limitTime);

            header('Location: ' . get_the_permalink());
            exit;
        }
    }

    // ランダムなユニークコード作成
    function make_rand_str($length) {
        $str = array_merge(range('a', 'z'), range('0', '9'));
        $r_str = null;
        for ($i = 0; $i < $length; $i++) {
            $r_str .= $str[rand(0, count($str) - 1)];
        }
        return $r_str;
    }

    add_action( 'get_header', 'set_affiliate_header');
}

メール本文に発行したユニークコードを表示させる

functions.php
/*----------------------------------------------------
 Contact Form 7 にてユニークコードをメールに記載できるようにする
----------------------------------------------------*/
if ( !function_exists( 'echo_affiliate_html' ) ){
    function add_custom_form_tags() {
      wpcf7_add_form_tag( 'affiliate_code', 'get_page_code_form_tag_handler' );
    }

    function get_page_code_form_tag_handler( $tag ) {
      $rand_txt = $_COOKIE['affiliate'];
      return '<input type="hidden" name="affiliate_code" value="' . $rand_txt . '" />';
    }

    add_action( 'wpcf7_init', 'add_custom_form_tags' );
}

[affiliate_code]

Contact Form 7 お問い合わせフォーム設定画面に上記コードを隠し項目として設定することで発行したユニークコードをメール本文に表示させることができるようになります

WordPress Contact Form 7 を使ったアフィリエイト成果報酬コードの設定方法(コンバージョンタグ設置)

[affiliate_code]

上記コードを同様にメール本文の設定画面に記載することでメール本文内にユニークコードをが表示されます

Contact Form 7 にて正常に送信でき場合にサンクスページを表示させるように設定

成果用の通信コードを表示させるショートコード

functions.php
/*----------------------------------------------------
 アフィリエイト成果通信用コード表示ショートコード
----------------------------------------------------*/
if ( !function_exists( 'echo_affiliate_html' ) ){
    function echo_affiliate_html() {

      if ( isset($_COOKIE['affiliate']) ) {
            $rand_txt = $_COOKIE['affiliate'];
            setcookie('affiliate', '', time()-1); // cookie 削除

            // アフィリエイト用の専用コード内にユニーク文字列を入れて表示
            $res = '<script src="https://xxxx.com?key='.$rand_txt.'"></script>';
            return $res;

        } else {
            return '';
        }
    }

    add_shortcode( 'echo_affiliate_html', 'echo_affiliate_html' );
}

サンクスページに成果用の通信コードをショートコードで表示させる

[echo_affiliate_html]

にて記事編集ページからショートコードを設定するかPHPからショートコードを使用する場合は下記のように記述して使用します

<?php echo do_shortcode('[echo_affiliate_html]'); ?>

WordPress Developer Resources

関連機能

  1. プラグインを使わずにContact Form 7 から送信されたメールの履歴を保存する ( カスタム投稿 )

  2. WordPress お問い合わせ内容をメールだけではなくLINEにも通知できるようにするプラグイン WP LINE Notify

  3. WordPress Contact Form 7 禁止ワードと日本語判定によるスパム判定処理

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

ぜーんぶひっくるめてのお前なんだ
いいんだそれで

バガボンド
by 沢庵宗彭

Profile

PAGE TOP
Amazon プライム対象