2010.02.02
プラグイン関係のメモ(2010.2.1現在 WordPress2.9.1)
続きを読む »
プラグイン関係のメモ(2009.10.11現在 WordPress2.8.4)
続きを読む »
2009.08.03
WordPress に新規投稿があったら、Twitter に通知するプラグイン Simple Tweet。
→ WordPress Plugins/JSeries » Simple Tweet (Twitter ポスト)
その名の通り、シンプルな動作で便利です。(^^)b
作者の をかもと さんのサイトはこちら。
→ dogmap.jp
2009.07.30
うちはwp-tmkm-amazonを使ってデータを引き出しているんだけれど、昨日「Alice’s Adventures in Wonderland Minibook」のデータを見てふと気付いたことが。
あれ?Amazon価格が、Amazon.co.jpの販売価格じゃない??
正確にいうと、「この商品は、Amazon.co.jp が販売、発送します。」という値段ではなく、同じく新品だけれども「こちらからも買えますよ」に書かれたところに載っているリストからの値段になっている。
それでちょっとソースを見てみることにする。
以前「Amazonから情報を引き出すプラグイン『wp-tmkm-amazon』」を書いたときにいろいろ調べて、
定価(参考価格)はItemAttributesの下なのに、価格(Amazonでの価格)はOffersの下にあるんだよね。(^^;
と気付いたので、今回もその辺りを中心に見てみた。
wp-tmkm-amazon-function.phpを見ると、
case ourprice: $textdata = $item["OfferSummary"]["LowestNewPrice"]["FormattedPrice"]; break;
となっている。
LowestNewPriceはたぶん「新品の最安値」なんじゃないかと思う。単語的にw
んで、この「新品」というのはAmazon.co.jpが販売するものも、Amazon.co.jp以外が販売しているものもひっくるめてなんじゃないだろうか。
全部Amazonで販売されてるんだから、それも「Amazon価格」って言っていいんじゃね?という考え方も有りだけど、今までずっと「Amazon価格=Amazon.co.jpが販売、発送する価格」と思ってたので、ここはちょいと改造してしまおうと。
ただそれだとAmazon.co.jpが販売、発送しないけど他からの新品があるよっていうのを見逃してしまうので、ついでにいろいろ書き換えることにした。
イメージとしては、
・Amazon価格には、「この商品は、Amazon.co.jp が販売、発送します。」と書かれている時の価格を表示。
・Amazon価格が無い(Amazon.co.jpが販売、発送出来ない)場合、他の出品者/ストア業者に新品在庫があればそちらの価格を別に表示。
・Amazon価格とその他の新品価格が同じならばAmazon価格だけ表示。
・Amazon価格があり、なおかつそれよりも安い新品があれば併記。
フォーマットは「 ( 新品 ○ 点 ¥ △△△△ より )」がいいかな。
ってな感じ。
で。
で。
で。
途中経過は割愛しますが、単純なことなのにハマりまくってました。
これだからドシロートは。_| ̄|○
最終的な変更点はこんな感じ。
上に書いたとおり、Amazon自身の販売価格はOffers→Offer→OfferListing→Price→FormattedPriceなので、wp-tmkm-amazon-function.phpの98行目を
case ourprice: $textdata = $item["Offers"]["Offer"]["OfferListing"]["Price"]["FormattedPrice"]; break;
に変更。
プラス、その後ろに
case lowestnewprice: $textdata = $item["OfferSummary"]["LowestNewPrice"]["FormattedPrice"]; break;
case totalnew: $textdata = $item["OfferSummary"]["TotalNew"]; break;
を追加。
それからwp-tmkm-amazon.phpを次の様に書き換え。
(行数は全て挿入前のオリジナルを基準に書いてます。)
**********
wp-tmkm-amazon.php:481行目のあとに
$LowestNewPrice = $this->amazonparse->get_amazon_text($item,'lowestnewprice');
$TotalNew = $this->amazonparse->get_amazon_text($item,'totalnew');
**********
wp-tmkm-amazon.php:483行目のあとに
if( $LowestNewPrice != '' ) {
$newpricememo = ' ( 新品 '. $TotalNew . ' 点 ' . $LowestNewPrice . ' より )';
} else {
$newpricememo = '';
}
**********
wp-tmkm-amazon.php:552行目のあとに
if( $OurPrice != $LowestNewPrice ) {
$output .= "¥t" . "<p>$newpricememo<⁄p>" . "¥n";
}
**********
wp-tmkm-amazon.php:582行目のあとに
if( $OurPrice != $LowestNewPrice ) {
$output .= "¥t" . "<p>$newpricememo<⁄p>" . "¥n";
}
**********
wp-tmkm-amazon.php:609行目のあとに
if( $OurPrice != $LowestNewPrice ) {
$output .= "¥t" . "<p>$newpricememo<⁄p>" . "¥n";
}
**********
wp-tmkm-amazon.php:637行目のあとに
if( $OurPrice != $LowestNewPrice ) {
$output .= "¥t" . "<p>$newpricememo<⁄p>" . "¥n";
}
**********
はー。
何とか思った通りのデータを返してくれるようになりましたよ。(^^;
ちょっと改造するだけでこんなに時間かかるんだから、一からプラグインを作る人ってどれだけ大変なんだろうなぁ。
本日も感謝しながらこれにて終わります。
2009.06.19
ともかめさんが作られた「wp-tmkm-amazon」を、Amazonの「Product Advertising API」に対応させるため、OpenMediaLaboratoryのRomeoさんが改訂してくださったプラグインが公開されました。(^^)b
配布先はこちら。
↓
wp-tmkm-amazonプラグイン配布 | OpenMediaLaboratory
Windowsパソをお使いの方がZIPファイルを展開したら「__MACOSX」フォルダと「wp-tmkm-amazon」フォルダが出て来ると思います。
(環境やダウンロードするバージョンによっては出てこないかもなのでその場合は読み飛ばしてください。)
この「__MACOSX」フォルダはMacのリソースフォークなどが格納されたフォルダで、Windows使ってるなら必要無いからサックリ削除。
次に「wp-tmkm-amazon」フォルダを開くと「.DS_Store」というファイルが入っているけれど、これもWindowsには必要無いのでサクッと削除。
(「.DS_Store」はMacでウインドウサイズ・位置・背景色・アイコン配列・アイコンサイズなどを記憶しておくファイルらしい。)
そんなわけで必要なのは、
・ jsフォルダ
・ amazon_noimg.png
・ amazon_noimg_small.png
・ Lite.php
・ PEAR.php
・ tmkm-amazon.css
・ tmkm-amazon-search.css
・ wp-tmkm-amazon.php
・ wp-tmkm-amazon-function.php
・ wp-tmkm-amazon-search.php
・ xml.php
かな。
PNGファイルはAmazonに画像がなかったときに表示させるものなので、自分で用意した画像に置き換え可です。
画像のファイル名は変更出来るけどその場合はソース見て置換しないと駄目だから、特別な理由がなければそのままのファイル名にしておくのが無難。(^^;
あとは解説のページの通り「wp-tmkm-amazon-function.php」をテキストエディタで開いて、該当箇所を書き換えると準備完了。(≧▽≦)ノシ
サーバーにアップロードしたり従来通りの手順でOKー。
2009年8月15日までに「Product Advertising API」への全てのリクエストに認証のための電子署名を付けなければいけないらしいので、いろんなAWS関係のプラグインを作られていた方々は対応に追われているだろうなぁと思います。
OpenMediaLaboratoryのRomeoさん、お疲れ様でした。