Amazonアフェリエイト規約と世間の見方

Amazonのカスタマサービスの対応が非常に悪く頭にきてアカウント解約しました。

地元小学校サッカーチームのアフェリエイト経由で地道に購入して、いざポイント還元でサッカーボールでもプレゼントできるかなとおもったら現金化できんらしい!

■カスタマサービスに普通に質問出しました。
—————————————————–
Amazonでたまったポイントを銀行振込での支払いがされるよう設定していました。Amazonの振込履歴を確認すると振込されていおりポイントが減っています。しかしながら銀行口座への振込がされていません。 どうすれば良いですか?
—————————————————–

■以下の返事がきました。
—————————————————–
Amazonアソシエイト・プログラムからの重要なお知らせ。

このほど、○○○○○-22 のアソシエイトリンクからのご注文をお調べしたところ、多数のご注文が、貴方のAmazonアソシエイト・プログラムアカウントと関連のある情報を持つ決められたアカウントから行われていることを確認しました。

貴方のアソシエイトリンク経由で、アソシエイトメンバーご本人、友人、身内、関係者の方々のための注文をすることは、Amazonアソシエイト・プログラム運営規約において禁止されております。

当方といたしましては、アソシエイト・プログラムの運営の根幹に関わるこのような規約違反行為を見逃すことは到底できません。つきましては、貴方のアソシエイトリンク経由で、アソシエイトメンバーご本人、友人、身内、関係者の方々のための注文をすることを本書面到達後直ちにお辞めください。

なお、Amazonアソシエイト・プログラム運営規約違反が明らかになった場合には、当方は、Amazonアソシエイト・プログラム運営規約を解約できるほか、紹介料の支払いを拒絶する権利を留保しておりますので、念のため申し添えさせていただきます。

Amazon.co.jp カスタマーサービス アソシエイト・プログラムスタッフ
—————————————————–

当然、私がそのアフェリエイト経由で色々購入したので特定のアカウント(私の)が多いのは当たり前ですが・・。でも質問の回答にもなってないし、普通に聞いただけなのに脅しの文章も入っている。

もー頭にきて、Amazonアカウント解約です。貯めたポイントもいらない。こちいから願い下げだー。Amazonからは絶対買わない!

ラーメン屋に入って「スープから飲まない奴はうちのラーメン食うな!」っていう頑固おやじと同じで、頭にきて「二度と来るか―」ってのと同じこと。単なる一企業の決め事に従う気はさらさらないです。

嫌なら買わない、それだけ。別に法律犯してる訳ではないので「規約違反行為を見逃すことは到底できません」などという、一方的に犯罪者扱いするような言い方をする企業とは金輪際付き合う必要はないです。

所詮アメリカの企業。大したことない。日本人には理解できん。
あー、これだけ言ったら、すっきりしました。

PHPプログラマのためのWordPressテーマ

皆さん、WordPressテーマってどうやって作ってます?デフォルトの「Twenty Thirteen」とかをカスタマイズしてますかね。それとも、自分で元ネタを持っていたりしますか?

こういうやり方もOKかも。

1.WordPressの基本テーマ
・基本的なテーマを自動で作成してくれるサイトがあります。
m2013110201

・このテーマを選択しても、ほんとに基本的なものしか表示しない。
m2013110202

2.レイアウト、CSSフレームワーク
・これに、シンプルな960Gridを導入する。
m2013110203

・ダウンロードしたファイルを解凍し、code-css内の「960.css」をWordPressテーマにアップして、founction.phpでcssを読み込む。

wp_enqueue_style( 'iaa-style', get_template_directory_uri() . '/960.css' );

※960gridの使い方はここを参考に。
※これでレイアウトは楽にできます。あとはメニュー、ウィジット、プラグイン、PHPでごりごりいじって必要なものを表示する。
※これ以上の色付けたり画像作ったりはプログラマでは無理なので、デザイナーにやってもらいましょう。

以上です。

wp_nav_menuにて別ページで開く(target=_blank)

WordPressのメニュー表示、wp_nav_menuがあるけど、これで作られたメニューはクリックしても別ページでは開かないんだよね。

マニュアル見ても、”target=_blank”などのパラメタはない。
調べてみると、力技がありました。

$footerRight = wp_nav_menu(
  array('theme_location'=>'footer-right', 'echo'=>false));
echo str_replace('<a',"<a target='_blank'", $footerRight);

あっ・・・そうなのね。
以上です。

WordPress3.7 自動バックグラウンド更新の恩恵

久々の投稿です。

「毎月1回は投稿するぞ!」という決意むなしく今年の7月で途切れてしまい、2007年5月から連続投稿(ところどころ途切れてるし・・・)も終わってしまいました。

最近、気持ちも持ち直し決意も新たに投稿を始めます。しかし3か月間サボっている間にアクセス数も落ちてしまった・・・。

さて本題です。

WordPressも着実にバージョンが上がり3.7になりました。今回の目玉は、何と言っても「自動バックグラウンド更新」ですね。WordPressは便利なんだけど「バージョンアップが頻繁で・・・」と思う方々は多かったのではないでしょうか。WordPress本体、プラグイン、テーマと結構頻繁にバージョンアップがあり、管理者は定期的にログインする必要がありました。

少し前までWordPress本体のバージョンアップは、バックアップ(コアファイル、データベース)してから行うことが推奨されていました。「それって、すげー面倒」と思われた方は多かったのでは。

でもバージョンをアップして問題が起こったことはそれほどないので、バックアップ取らずに「えい!」とやっちまった方々もいたのでは?(私も数回やっちまった経験ありです。特にプラグイン関連)

自動バックグラウンド更新ができたということは、「安心してバージョンアップができるよー」という事なんですかね。設定によって、バージョンアップも細かく制御できるようですが。

これからは楽になるなー。・・・っていうか、CMS管理の名目でお客様から管理費用を頂けるのか?恩恵があるようなないような。いや~そんなこと機械にまかせてさー、もっと付加価値のあるところで商売しなよーってことでしょう。

※このテーマも手をいれていたんですが、先ほどバージョンアップしたらあっさり無くなってしまったのでした。バックアップあったかな?

※アップデートがあり得る他人のテーマの場合は、直接テーマに手を入れるんじゃなくて、可能であれば子テーマや独自にプラグインを作るべきだね。激しく勉強させられました。

CakePHP2 連想配列をJavaScriptに渡す

CakePHP2ネタという訳ではないですが、PHPの配列もしくは連想配列をJavaScriptに渡すやり方です。

■力技
ネットでは、PHPの配列を「カンマ区切り文字列」にしてJavaScriptに渡し、JavaScript側でカンマにてsplitするという力技が紹介されてました。(ちょっと古い記事かもしれませんが・・・)

// PHP in Server
$str = join(",", $list);

// JavaScript in Client
var js_str = "<?= $str ?>";
var list = js_str.split(",");

■JSONで
JSONデータで渡した方が、スマートだと思います。これだと、連想配列もすんなり渡せます。例えば、こんな連想配列でも、PHP側でJSON文字列にエンコードして・・。

$date = array(
  (int) 8 => '2013-07-25',
  (int) 12 => '2013-07-26',
  (int) 13 => '2013-07-31'
)
$json_string = json_encode($date);

JSON文字列をJavaScriptで受け取って、paraseJSONでJSON配列にすると良いのではないでしょうか。

$(function() {
  var json_string = '<?= $json_string ?>';
  var datelist = $.parseJSON(json_string);
   
});

※ちなみにクォーテーション部分の「’」は、「”」だとエラーになります。JSONコードの要素がダブルクォーテーションで囲み、外側はシングルクォーテーションにするのがJSONの書式だからみたいです。

'<?= $json_string ?>'
    ↓
'{"8":"2013-07-25","12":"2013-07-26","13":"2013-07-31"}'