[Welcart] 配送希望日がうまく設定できない場合の対処法

発送・支払方法 « Welcart ライブデモ
こんな感じ

配送設定画面で配送日数もちゃんと設定しているのに、カート画面に反映されず、配送希望日欄が「指定できません」となって選択できない場合の対処法です。

「Welcart Shop 配送設定」画面の注意書きに以下のように書かれています。

※ 配送設定は商品登録よりも前に行う必要があります。
※ 商品登録後に配送方法の追加・削除を行った場合は全商品の更新が必要となりますのでご注意ください。

本来は「Welcart Shop 新規商品追加」画面から商品情報を入力し始める前に配送設定を完了しておく必要があります。

既に商品が登録されている状態で「Welcart Shop 配送設定」の内容を変更すると注意書きにある通り、配送日目安や配送方法の値がリセットされて配送希望日欄が指定できなくなります。

“全商品の更新”とは具体的には商品マスターに登録されたすべての商品の下記の項目を変更して「更新」ボタンを押す作業です。

商品マスター

特に発送希望日欄を有効にするためには赤丸の部分を「–選択–」以外の値にする必要があります。

全商品を更新するのがめんどくさい

すでに沢山の商品登録を済ませたお店でこの修正をするのはかなり大変です。そこでデータベースを直接操作して一気に修正する方法を紹介します。

この方法を行うにはphpMyAdmin等を利用するか、何らかの形でデータベースを操作できる環境が必要です。

  1. テーブル「wp_postmeta」を開き検索ボタンを押す
  2. カラム「meta_key」に「_itemShipping」と入力して検索実行
  3. 検索結果の「meta_value」の値が「発送日目安」となる

meta_valueには0~9の値が入っています。それぞれ下記のとおりです。0以外の値にしてやれば発送日希望が有効になります。

0  –選択–
1  即日
2  1~2日後
3  2~3日後
4  3~5日後
5  4~6日後
6  約1週間後
7  約2週間後
8  約3週間後
9  商品入荷後

上記を参考にSQL文を組んでやれば一気に書き換えることが可能です。

猫の熱中症対策について考える

夏場、お留守番させている猫の熱中症対策について考える。特にエアコンの利用について。

猫はもともと砂漠地帯出身なので暑さには強い。が、湿度が高いのは苦手。日本の夏ような蒸し暑くて高温になりがちな環境はつらいと思う。

窓を開けて風通しを良くして、それで涼しくなれば一番なんだろうけど、気温が35度まで上がるような昨今ではやはりエアコンの利用を考えた方がいい。外出中に窓を開けるのも防犯上よくないし。

かといって冷えすぎるのも良くない。猫の最適な気温は28度前後。余談だけど、暑そうだからといって毛を刈ったりしたらだめ!

方法1. タイマーを使う

最初に考えたことはタイマーを利用することだった。

最近のエアコンだったら当たり前についてるけど、前に住んでた家のエアコンは10年ほど前に取り付けた旧式でタイマー入切機能がなかった。

なので、タイマー機能の付いた汎用リモコンを購入した。

ELPA タイマー付エアコンリモコン RC-32AC RC-32AC

こいつは24時間タイマーが付いていて、セットした時間になると自動で赤外線を飛ばしてON/OFFする。

指向性が強いのか、出力パワーが弱いのか、発光部が確実に本体側を向いていないと反応しなかった。すこし離れた場所から操作すると感度が悪くなるのでパワーが弱いんだと思う。

おしりの部分が膨らんだような形をしていて、本体を垂直に立てることが出来る。我が家では立てないと発光部がエアコンの方を向いてくれなかった。

外出中に猫がリモコンを倒してしまって、作動しなかったトラブルがかなりあった(汗)

方法2 クラウドリモコンを使う

インターネットを介して外出先から操作が可能な学習リモコンを「クラウドリモコン」と呼ぶ。

学習リモコンとは言うものの操作はスマホのアプリで行うので、複数の操作をワンタップで行ったり、GPSを使って自宅に近づいたらONしたり、温度計が付いていたり本当に多機能だ。声で操作できたりする機種もある。

日本のご家庭で使うなら下記の5種類から選ぶことになると思う。

  • iRemocon WiFi

これが一番高機能で一番高い。
温度・湿度・照度センサー付きでエアコンや照明がちゃんと作動したかの確認もできる。デザインもスタイリッシュ。操作アプリも使いやすそう。

でも、外出先から操作するには月額300円かかる。

本体もお高いし余裕のある人向けか。

  • Plutoステーション

本体にWi-Fi接続機能は無い。一番のウリはスマホからの操作はブラウザから行うのでスマホの機種は関係ないことと、サポートが手厚いので対応していない家電でも連絡すればすぐに対応してくれる(らしい)。

各種センサーは付いていないが消費電力をチェックする電源タップ付きバージョンもある。これなら確実に作動したかの確認はできる。温度センサーが欲しかったので今回はパス。

  • eRemote-3 RM-Pro

チャイナ製。我が家はこちらを購入。

温度センサーが付いていて、値段もお手ごろだと思う。操作アプリは少しクセがあるけど使いやすい方だと思う。なかなか人気があるようで、届くまで少し時間がかかった。

部屋の室温をチェックしながら冷えすぎないようにエアコン操作をしている。

テレビの裏に設置していてもチャンネル操作できるから人目につかなくてよい(デザインがちょっとね。。)

 

  • マジック WIFI リモコン – DZ42580

こちらもチャイナ製。

eRemoteより安い。ただし各種センサー類は付いていないので室温のチェックには向いていない。

それ以外は操作アプリも含めてeRemoteと変わりないように思う。

 

 

 

  • IRKit

WiFi機能の付いたオープンソースな赤外線リモコンデバイス。

自分でプログラム組める人はこれ以上自由なデバイスはないし、本体に未使用のピンが余らしてあって自分で好きなセンサーを取り付けたりも可能。

逆に言えばそれだけの知識が無いと手を出さない方が無難。2機目を買うなら電子工作にチャレンジしてもいいかなと思う。

 

 

熱中症対策としてのクラウドリモコンのおすすめは

温度センサー付きで、外出先から操作・モニターが可能な機種となる。

外出先から操作するには外部サーバーを介してスマホから操作することになるので、月額利用料が必要なiRemocon WiFi(アイリモコンワイファイ) IRM-03WLAは安心ではある。

取り敢えずお試しであれば新発売 eRemote-3 RM-Pro イーリモートかな。今のところ月額料もかからないし。実際使ってみて難しい操作もなかった。

Bogo: ページIDから現在のロケールに対応したページIDを返す

Bogoプラグインを使っていて、ページIDから今のロケールに対応するページIDを返す関数。

例えば、日本語ページ、英語ページ、フランス語ページとそれぞれ用意していた場合、引数にいずれかのIDをセットしておけば、ロケールを切り替えた際におのおののIDを逆引きできる。

  1. 現在のロケールと調べたいIDのロケールを比較
  2. trueならそのまま返す
  3. falseなら紐付いている他のIDのロケールを比較する
  4. 比較してtrueだったらそのIDを返す。
function get_translations_id( $id = 0 ) {
    $locales = get_locale();  // 現在のロケールを取得
    $pid_loc = get_post_meta( $id, '_locale' );  // 引数のページIDのロケールを取得
    if (! @$pid_loc[0] ) return $id;  // 引数のページIDにロケールが無ければそのまま返す
    if ($locales === $pid_loc[0]) {
        return $id;  // 現在のロケールと引数のページIDのロケールが同じならそのまま返す
    } else {
        $transids = bogo_get_post_translations($id);  // 引数のページIDから別言語の情報を取得
        foreach ($transids as $key => $value) {
            if ($locales === $key) return $value->ID;  // 現在のロケールに対応したページIDを返す
        }
        // 何も見つからなかった場合
        $originaiids = get_post_meta( $id, '_original_post' );  // 引数のページIDの親になっているページIDを取得
        return $originaiids;  // 親のページIDを返す
    }
}

なぜこの関数が必要だったか

TOPページに、特定のページのタイトルやその他情報を持ってきたかったから。

Compass Watch がエラーになる場合の対処法

compass watchするとエラーで動かない。

$ compass watch
>>> Compass is watching for changes. Press Ctrl-C to Stop.
LoadError on line ["54"] of C: cannot load such file -- wdm
Run with --trace to see the full backtrace

SassとCompassをアップデートすることで解決した。

$ compass watch
>>> Compass is watching for changes. Press Ctrl-C to Stop.
write C:/foo/bar/css/style.css

SassとCompassのバージョンの組み合わせによってはエラーになることがあるらしい。

SassとCompassをアップデートする方法

バージョンの確認

gemのバージョン確認

$ gem -v
2.4.5

Sassのバージョン確認

$ sass -v
Sass 3.4.9 (Selective Steve)

Compassのバージョン確認

$ compass -v
Compass 0.13.alpha.12 (Markab)
Copyright (c) 2008-2015 Chris Eppstein
Released under the MIT License.
Compass is charityware.
Please make a tax deductable donation for a worthy cause: http://umdf.org/compass

アップデート

gemのアップデート

$ gem update --system
Updating rubygems-update
Fetching: rubygems-update-2.4.8.gem (100%)
・
・
・

Sassのアップデート

$ gem update sass
Updating installed gems
Updating sass
Fetching: sass-3.4.15.gem (100%)
・
・
・

Compassのアップデート

$ gem update compass
Updating installed gems
Updating compass
Fetching: compass-core-1.1.0.alpha.3.gem (100%)
・
・
・