WP-Amazon導入
2006.09.22 by admin
2005.4.2投稿記事
WordPressでアマゾンのリンク作成を簡単にするために、プラグインの「WP-Amazon 1.3.2」を導入してみました。
2006.1.19追記
WordPress 2.0にWP-Amazon 1.3.2で動作確認しました。
2007.4.22追記
「価格を販売価格にする」を追加しました。
リンクに価格と画像を追加してみる
編集するファイルは「wp-amazon.php」です。
function constructItemsの
$HTML = $HTML."<input type=\"hidden\" name=\"q\" value=\"$q\" />\n";
の後に
$HTML = $HTML."<input type=\"hidden\" name=\"price\" value=\"$Price\" />\n";
を追加。
/**** Item has been selected ****/の
$URL = $_POST['url'];
$ProductName = $_POST['prodname'];
if ($areMagicQuotesOn) $ProductName = addslashes($ProductName);
$ProductNameCleaned = stripslashes($_POST['prodname']);
$ImageURLSml = htmlspecialchars($_POST['imgurlsml']);
$ImageURLMed = htmlspecialchars($_POST['imgurlmed']);
$ImageURLLrg = htmlspecialchars($_POST['imgurllrg']);
の後に
$Price = htmlspecialchars($_POST['price']);
を追加、さらに
onclick="generateHTMLCode(this.value, '$ProductName', '$URL', 'それそれ値が違う');"
に, ‘$Price’を追加(4ヶ所あります。)
onclick="generateHTMLCode(this.value, '$ProductName', '$URL', 'それそれ値が違う', '$Price');"
JavaScriptのfunction generateHTMLCodeの
function generateHTMLCode(format,prodname,url,imgurl) {
にpriceを追加
function generateHTMLCode(format,prodname,url,imgurl,price) {
画像を選択した場合に、画像の幅と高さを取得する
JavaScriptのfunction generateHTMLCodeの
function generateHTMLCode(format,prodname,url,imgurl,price) {
if (format=='link') {
html = '<a href="'+url+'" title="View product details at Amazon">'+prodname+'</a>';
} else {
の後に以下を追加。
prodimg = new Image();
prodimg.src=imgurl;
pwidth = prodimg.width;
pheight = prodimg.height;
if (pwidth == 0 && pheight ==0) {
//0x0の場合は作成した代替画像を表示
imgurl = "ここに代替画像のURL";
pwidth = 48; //代替画像の幅
pheight = 61; //代替画像の高さ
}
以下のような代替画像(48×61)を作成してみました。
![]()
以下のコード生成部分のimgタグ内に
html = '<a href="'+url+'" title="View product details at Amazon"><img src="'+imgurl+'" alt="'+prodname+'" /></a>';
「価格:'+price+'」と「width="'+pwidth+'" height="'+pheight+'"」を加える。
wp-amazon-plugin.php, wp-amazon.phpとも、wp-content/pluginsにアップロードしてください。
プラグイン管理画面にアクセスして、WP-Amazonプラグインを有効にする。
設定タブのAmazonの画面でDefault CountryをJapanに、Associate IDを自分のものに変更。
記事投稿画面の下に、「Insert content from Amazon」というリンクが追加されます。
価格を販売価格にする
デフォルトだと表示される価格はアマゾンでの「参考価格」または「ユーズド商品および新品商品の価格」になってしまいます。
これを実際の販売価格(アマゾンでの「価格」)にするには、
まず、/**** Search Results ****/の
$URL = $BaseURL."&SubscriptionId=$SubscriptionID"."&AssociateTag=$AssociateTag"."&Operation=ItemSearch"."&SearchIndex=$p"."&ResponseGroup=Medium"."&Keywords=$Keywords";
のResponseGroup=MediumをLargeに変えます。
$URL = $BaseURL."&SubscriptionId=$SubscriptionID"."&AssociateTag=$AssociateTag"."&Operation=ItemSearch"."&SearchIndex=$p"."&ResponseGroup=Large"."&Keywords=$Keywords";
次に/* Show result */の
$Price = htmlspecialchars($Items[$ItemNumber]['ItemAttributes']['ListPrice']['FormattedPrice']);
を
$Price = htmlspecialchars($Items[$ItemNumber]['Offers']['Offer']['OfferListing']['Price']['FormattedPrice']);
に変更。さらに
$Price = htmlspecialchars($Item['OfferSummary']['LowestNewPrice']['FormattedPrice']);
を
$Price = htmlspecialchars($Item['Offers']['Offer']['OfferListing']['Price']['FormattedPrice']);
に変更してください。
