2017-01-26 5 views
0

ローカルデータベースでWoocommerce製品を使用せずにAPIからロードすることは可能でしょうか?Woocommerce製品はローカルデータベースにはなくライブAPIから入手

私のサプライヤはAPIしか持っていないため、データベースをダウンロードまたはインポートすることができず、すべての製品/製品リスト/カテゴリなどをAPIから要求する必要があります。 勿論、私はいくつかのキャッシングを行うことができますが、質問は次のとおりです。

はWoocommerceは、ローカルデータベースにない製品を扱うが、ライブAPIから

== EDITの== を来ることができ、私が支払わなければなりませんGbごとにこのAPIのために。だから私はすべてのデータを取得することはできません、これは月額1000ドルの費用がかかります。スピードは問題ではなく、このライブAPIに接続された数百のショップがあり、ショップは正常に動作します。私は同意する、ローカルデータベースのすべての製品が良いだろうが....

答えて

0

あなたが探しているようなデフォルトの機能はありません。 Woocommerceの開発者がすべての可能なAPI接続を予測することは不可能です。このようなシナリオの実装は簡単ではありません。あなたはWoocommerceの多くの部分にそれを機能させるためにフックする必要があります。それは完了することができます(コードベース全体にフックがあります)が、それはすばらしい作業になります。しかし、とにかくそれを取る前に、そうすることは、あなたのサイトを驚くほど遅くすることを理解する。 Woocommerceは非常に早く始めるわけではありませんが、すべてのページビューでライブAPIコール(おそらく複数の呼び出し)を行うことは、訪問者にとって恐ろしいUXになります。

代わりに、wp-cronを使用してAPIを呼び出し、バックグラウンドプロセスとしてWoocommerceテーブルを定期的に入力するプラグインを作成します。これにより、ベンダからのすべての情報をローカルにキャッシュすることができます(もしダウンしていた場合はどうなりますか?)速度はかなり良いでしょう。また、Woocommerceで何も変更する必要はありません。

0

BA_Webimaxが返答したように、API /ライブデータベースから製品をフェッチするために、woocommerceにはデフォルト機能はありません。

私は、製品、画像、価格のすべてが異なるAPIからストリームされ、APIオンラインからすべてのデータをフェッチし、APIから製品ショップページと単一製品ページランタイムを表示する機能を実装した機能を実装しました。

あなたがその時間にカートに商品を追加したときに、woocommerce製品としてのイメージ/詳細/価格をwoocommerceデータベースに追加します.Woocommerceに製品を追加した後、チェックアウト、配送、クーペ、支払い、およびオーダーの発注は、woocommerce自体によって管理される。

+0

ありがとう灰色、もう少し説明できますか?サンプルコードがありますか? – Harmstra

関連する問題