グッズメモ アフィリエイトのショートコード

グッズメモ アフィリエイト・WordPressプラグインのソースコード記事の目次WordPress

Shortcode.php

namespace goodsmemo\shortcode;

use goodsmemo\amazon\AmazonAffiliate;
use goodsmemo\rakuten\RakutenAffiliate;
use goodsmemo\exception\IllegalArgumentException;
use goodsmemo\exception\OptionException;
use goodsmemo\exception\HttpRequestException;
use goodsmemo\exception\HttpResponseException;

require_once GOODS_MEMO_DIR . "amazon/AmazonAffiliate.php";
require_once GOODS_MEMO_DIR . "rakuten/RakutenAffiliate.php";
require_once GOODS_MEMO_DIR . "exception/IllegalArgumentException.php";
require_once GOODS_MEMO_DIR . "exception/OptionException.php";
require_once GOODS_MEMO_DIR . "exception/HttpRequestException.php";
require_once GOODS_MEMO_DIR . "exception/HttpResponseException.php";

/**
 * Description of Shortcode
 *
 * @author Goods Memo
 */
class Shortcode {

    public static function makeAffiliateHTML($atts, $content = null) {

	//ショートコードの名前は英小文字、数字、下線を使う必要があります。特にハイフン(ダッシュ)には注意して、使わないのが賢明です。
	//注意: 属性名は大文字と小文字が混在可能ですが、パース後はいつも小文字になります。
	//var_dump($atts);
	$attsMap = shortcode_atts(array(//変数名(属性名) => 初期値
	    "service" => "",
	    "operation" => "",
	    "search_index" => "",
	    "keyword" => "",
	    "number" => ""), $atts
	);
	extract($attsMap); //例:変数 $service などを作成する

	try {
	    $affiliateHTML;
	    switch ($service) {
		case "amazon":

		    $affiliateHTML = AmazonAffiliate::makeHTML($operation, $search_index, $keyword, $number);
		    break;

		case "rakuten":

		    $affiliateHTML = RakutenAffiliate::makeHTML($operation, $keyword, $number);
		    break;

		default:

		    throw new IllegalArgumentException("無効なサービス名:" . $service);
	    }

	    return $affiliateHTML;
	} catch (IllegalArgumentException $ex) {

	    $message = "<p>引数の例外:" . $ex->getMessage() . "</p>";
	    return $message;
	} catch (OptionException $ex) {

	    $message = "<p>オプションデータベースの例外:" . $ex->getMessage() . "</p>";
	    return $message;
	} catch (HttpRequestException $ex) {

	    $message = "<p>HTTPリクエストの例外:" . $ex->getMessage() . "</p>";
	    return $message;
	} catch (HttpResponseException $ex) {

	    $message = "<p>HTTPレスポンスの例外:" . $ex->getMessage() . "</p>";
	    return $message;
	}
    }

}
コンピューター
この記事をシェアする

【広告】WordPress 開発 」の関連商品

• Amazon.co.jp

エンジニアのためのWordPress開発入門 (Engineer's Library)

エンジニアのためのWordPress開発入門 (Engineer's Library)

Amazon 価格:3,218 円(2019年5月25日 10:25時点詳細はこちら)

著者:野島 祐慈, 菱川 拓郎, 杉田 知至, 細谷 崇, 枢木 くっくる

出版社:技術評論社

種別:単行本(ソフトカバー)

販売店:Amazon.co.jp

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル

サイトの拡張性を飛躍的に高める WordPressプラグイン開発のバイブル

著者:宮内 隆行, 西川 伸一, 岡本 渉, 三好 隆之

出版社:SBクリエイティブ

種別:Kindle版

プラグインの開発から運用までを網羅※この電子書籍は、「固定レイアウト型」で配信されております。説明文の最後の「固定レイアウト型に関する注意事項」を必ずお読みください。CMSのデファクト・スタンダードである……

• 楽天市場

エンジニアのためのWordPress開発入門【電子書籍】[ 野島祐慈 ]

エンジニアのためのWordPress開発入門【電子書籍】[ 野島祐慈 ]

価格:3,218 円[税込](2019年5月25日 10:25時点)
送料込

販売店:楽天Kobo電子書籍ストア

【電子書籍なら、スマホ・パソコンの無料アプリで今すぐ読める!】
WordPressを使った開発案件は依然多く,それに携わるWebエンジニアも多数存在します。ただし,モダンな開発手法に慣れたWebエンジニアがWordP……

WordPress Web開発逆引きレシピ WordPress 4.x/PHP 7対応 プロが選んだ三ツ星レシピ ……

WordPress Web開発逆引きレシピ WordPress 4.x/PHP 7対応 プロが選んだ三ツ星レシピ ……

価格:3,024 円[税込](2019年5月25日 10:25時点)
送料込

ポイント:2 倍
✓開始日時2019-05-23 10:00
✓終了日時2019-05-27 09:59

販売店:楽天ブックス

【楽天ブックスならいつでも送料無料】
プロが選んだ三ツ星レシピ Programmer’s recipe 藤本壱 翔泳社ワードプレスウェブカイハツギャクビキレシピ ワードプレスヨンテンアックス ピーエイチピーセブンタイオ……

グッズ・メモランダム