WelcartでAdvanced Custom Fieldsを使うブックマークレットを作った

中小企業にとって、コストを抑えつつサイトを効率よく運営したいという要望を満たすCMSとして、良くも悪くもWordPressが最近では主流になってきていると実感しています。反面、それ本当にWordPressでやる必要ある?というものも数多く感じるようにもなってきました。でもやっぱりカスタマイズ前提な場合、すぐに実行に移せるWordPressのノウハウを捨てきることが出来ず、ずるずるWordPress頼みになってしまう現状です。

話がそれたような気がしますが、ECサイトの場合、ブログなどと分離するのが面倒だとか一元管理したい、カスタマイズしたいという場合にWordPressプラグインのWelcartを採用することがあり、そこでAdvanced Custom Fieldsが使えないため非常に面倒でした。
何度か要望は出してみたり、カスタマイズしてみたものの、数年間放置されたり頻繁にアップデートされたりいろいろ面倒だったので現在ではブックマークレットを使って処理しています。

ブックマークレットコード

javascript:(function (){var url = location.href,result = url.match(/&post=(.*)&/),protocol = location.protocol+'//',host = location.host+'/';location.href = protocol + host + 'wp-admin/post.php?post=' + result[1] + '&action=edit'})()

使い方

上記コードをコピーして、ブックマークレットとして登録してください。
(どこかのページをブックマークに登録し、ブックマークを編集画面からURLを書き換えると楽です。)

最初に商品登録画面から登録を済ませ、下書きで保存した後に、上記ブックマークレット発動させます。
商品登録画面ではない、通常のWordPress編集画面に移動し、Advanced Custom Fieldsで作成したカスタムフィールドが表示されます。
入力を済ませたら下書きで保存し、(公開でもうまくいくとは思いますが推奨しません)商品編集画面から公開をします。
自己責任でお願いします。何があっても責任は取れません。

なぜ動くのか

WordPressには投稿IDというIDが振られており、Welcartで作成した商品にもIDが振られています。そのIDにカスタムフィールドを結び付けてやるために、強制的に画面を呼び出し登録することで、Advanced Custom Fieldsのカスタムフィールドを扱うことが出来ます。

おわりに

Advanced Custom Fieldsのギャラリーだったり、繰り返しの中に繰り返しを作れたり、繰返しの中にギャラリーが作れたりするのが最高に便利。また、コンテンツ柔軟フィールドがConcrete5のブロックみたいな感じで非常にページを作るのに便利なのでECサイトのデフォルト機能として搭載してくれると嬉しい。

日本の場合やっぱり楽天メソッドのような縦型ページじゃないと売りにくいし、WordPressの場合、無闇矢鱈に画像を貼り付けるかカスタムフィールドを使わないとHTMLで組んでるのとおんなじになってしまうので、このような機能を使って意味のあるページを作成していき、気持ちよく買い物してほしいと最近は思ったりしてます。(なんでもいいのでWelcartには早く対応してほしい)