注意!!
Amazon APIの仕様変更により、本エントリの内容では動作しなくなっております。2009/8/15以降のAmazon APIに対応するには下記のエントリを参照してください。
wp-tmkm-amazonのAmazon API対応 – 更新を怠る日々
wp-tmkm-amazonにAmazonの販売価格を表示する方法0続き∴my confidence…
さんからのピンバックでそういえばCDやDVD等にもAmazonの販売価格を表示するのを忘れていました。というわけで my confidence… さんとほとんど同じ修正を追加しました。情報ありがとうございます。
ついでにページ数の情報が無い本を表示するときには、ページ数を表示せず”コミック”などジャンルのみを表示する修正と本の中古価格も表示する修正も追加しています。
なお、以前の修正も含んでいますので、この記事の変更箇所のみ修正するだけで大丈夫です。
patchを使用している人はこちらのpatchファイルを使ってpatchをあててください
wp-tmkm-amazon.patch
ともかめさんのプラグインの説明はこちら
ともかめ亭 ≫ WordPress Plugin Release : wp-tmkm-amazon
プラグインのダウンロード、設定の詳細はこちら
WordPress Plugins/JSeries ≫ wp-tmkm-amazon
まず wp-tmkm-amazon-function.php の75行目の
1 | case price: $textdata = $item [ "ItemAttributes" ][ "ListPrice" ][ "FormattedPrice" ]; break ; |
の下に以下の1行を追加。
1 2 | case price: $textdata = $item [ "ItemAttributes" ][ "ListPrice" ][ "FormattedPrice" ]; break ; case ourprice: $textdata = $item [ "OfferSummary" ][ "LowestNewPrice" ][ "FormattedPrice" ]; break ; |
次に wp-tmkm-amazon.php の451行目の
1 | $Price = $this ->amazonparse->get_amazon_text( $item , 'price' ); |
の下に以下の1行を追加。
1 2 | $Price = $this ->amazonparse->get_amazon_text( $item , 'price' ); $OurPrice = $this ->amazonparse->get_amazon_text( $item , 'ourprice' ); |
504行を
1 | $output .= "\t" . "<p>$Binding ( $Pages ページ )</p>" . "\n" ; |
こう変更。
1 2 3 4 5 | if ( $Pages != '' ) { $output .= "\t" . "<p>$Binding ( $Pages ページ )</p>" . "\n" ; } else { $output .= "\t" . "<p>$Binding</p>" . "\n" ; } |
519,520を
1 2 | $output .= "\t" . "<p><em>定価:</em>$Price</p>" . "\n" ; $output .= "\t" . "<p>$Binding ( $Pages ページ )</p>" . "\n" ; |
こう変更。
1 2 3 4 5 6 7 8 9 | $output .= "\t" . "<p><em>定価:</em>$Price$usedpricememo</p>" . "\n" ; if ( $OurPrice != '' ) { $output .= "\t" . "<p><em>Amazon価格:</em>$OurPrice</p>" . "\n" ; } if ( $Pages != '' ) { $output .= "\t" . "<p>$Binding ( $Pages ページ )</p>" . "\n" ; } else { $output .= "\t" . "<p>$Binding</p>" . "\n" ; } |
546行の
1 | $output .= "\t" . "<p><em>定価:</em>$Price$usedpricememo</p>" . "\n" ; |
の下に以下の3行を追加。
1 2 3 4 | $output .= "\t" . "<p><em>定価:</em>$Price$usedpricememo</p>" . "\n" ; if ( $OurPrice != '' ) { $output .= "\t" . "<p><em>Amazon価格:</em>$OurPrice</p>" . "\n" ; } |
573行の
1 | $output .= "\t" . "<p><em>定価:</em>$Price$usedpricememo</p>" . "\n" ; |
の下に以下の3行を追加。
1 2 3 4 | $output .= "\t" . "<p><em>定価:</em>$Price$usedpricememo</p>" . "\n" ; if ( $OurPrice != '' ) { $output .= "\t" . "<p><em>Amazon価格:</em>$OurPrice</p>" . "\n" ; } |
598行の
1 | } |
の下に以下の3行を追加。
1 2 3 4 | } if ( $OurPrice != '' ) { $output .= "\t" . "<p><em>Amazon価格:</em>$OurPrice</p>" . "\n" ; } |
修正結果はこんな感じです。
1.DVD、BD、CD、本でAmazonでの販売価格を表示するよう修正
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
2.ページ数の情報が存在しない本の場合ジャンルのみを表示、中古価格表示の修正
下の例ですと「Q.E.D.-証明終了-ザ・トリック・ノート」はページ数の情報があるので表示していますが、「C.M.B.森羅博物館の事件目録」はページ数の情報がないので”コミック”のみ表示しています。また中古価格も表示しています。
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
コメント
[…] ※追加修正があります。下記のエントリを参照ください。 wp-tmkm-amazonにAmazonの販売価格を表示するその2 – 更新を怠る日々 まず wp-tmkm-amazon-function.php の75行目の PHP […]
my confidence…の管理人、chocoです。
ご紹介、ありがとうございます。
私はあまりphpをさわったことがなかったので、
正直「これで大丈夫なのかな??」という感じでしたが、
どうやら大丈夫だったようで…安心しました(^^)
これからも時々おじゃまさせていただきます。
コメントありがとうございます。
DVDやCDの割引率はあまり気にしていなかったので、
ご指摘が無ければそのままだった可能性が高いです(^^;
これからも修正があれば公開していく予定ですので、
何かあれば遠慮無く突っ込みを入れてやってくださいw
[…] そしてさらに wp-tmkm-amazon に Amazon の販売価格を表示するパッチも手動書き換えにてあててみました。感謝感謝。 […]
[…] wp-tmkm-amazonにAmazonの販売価格を表示するその2 […]