Skip to content →

WooCommerce 3.0.0 とWooCommerce 3.0.1 のリリース案内

This post is also available in: 日本語 (Japanese)

どうも、少し日にが立ってしまいましたが、WooCommerce 3.0 のリリースの開発者ブログの日本語訳です。
連続して、修正版 の3.0.1も出ましたので、こちらのブログも続けて翻訳しております。

まずは、「WooCommerce 3.0 “Bionic Butterfly”ようこそ!」です。これは、WooCommerceの開発者ブログの Say hello to WooCommerce 3.0 “Bionic Butterfly” を翻訳したものです。

ここから=====
今日は、「Bionic Butterfly」と呼ばれるWooCommerce 3.0(以前の2.7)をリリースすることに興奮しています! 3.0は12月からベータ版で、8月から開発され、115人の貢献者から3,000件以上のコミットがありました。

最新情報をお読みください!

3.0は大きなアップデートです。 いつものように、アップグレードする前に拡張機能やテーマが互換性があることを確認してください。可能であればステージングサイトでテストし、安心してバックアップしてください。

CRUD(作成、読み取り、更新、削除)オブジェクトとデータストア

3.0の CRUD クラスは、コア(製品、受注、クーポン、顧客など)でデータオブジェクトを扱う際の基本的な部分の変更を表しています。

伝統的に WordPress では、例えば投稿や投稿データを扱う際には、必要に応じてメタデータを更新/取得/作成することができます。 一方、我々の新しい CRUD アプローチは、構造と検証と制御を追加するデータベースとコードの間に別の層を導入します。

簡単な例として、あなたが製品を持っていて、この製品に価格があるとしましょう。 古い方法で、この製品の価格を更新したい場合は、

  • その価格がどこに格納されているかを知る必要がある(Meta Key)。
  • データがどのようなフォーマットで格納されているかを知る必要があります(小数点以下2桁など)。
  • そのデータを更新する方法を知る必要があります( update_post_meta )。

CRUD では、代わりに製品のプロパティのリストがあり、そのうちの1つは価格です。データを設定するにはset_regular_price()を、その後に ->save()を呼び出してそのデータをデータベースに保存します。 どこに格納されているかを調べる必要なく、フォーマットが処理されます。

例:

$product = wc_get_product( 1 );
$product->set_regular_price( 10.99 );
$product->save();

メリットは?

  • 各リソースの構造化データを定義し、簡単に検索することができます。
  • 私たちは、データの流れと必要な検証を制御します。
  • 作業しているデータの内部を知る必要はありません。
  • 内部的には、データは他の場所に移動することができる。 既存のコードに影響を与えることなくカスタムテーブルを作成できます。
  • It’s reusable (API, CLI, WP Admin) and has more unit test coverage.

私たちはこの変化に興奮しており、将来私たちがパフォーマンスを向上させる道を開いています。

ここで新しいCRUDクラスの詳細を読むことができます。(作成中)

新しい商品ギャラリー

2016年8月には、商品イメージギャラリーにいくつかの改善を加え、ユーザーが何を求めているかを調査しました。 その結果、利用者の大半はズーム機能が好きであり、相当数の人々がライトボックスを保持したいと考えていました。

これらの知見に基づいて、我々はモバイルデバイスのサポートを追加して、両方を含むシステムを考案し、次のような利点があります。

  • 訪問者は拡大と拡大の両方にアクセスできるようになりました (lightbox)
  • ギャラリーの動作がより直感的です – サムネイルをクリックするとライトボックスを開くのではなくメインイメージが更新されます
  • ハンドヘルドの劇的な改善、特に、 タッチ操作 – ギャラリーをスクロールしてズームしたり、ズームしたり、スワイプして閉じるなど
  • モバイル上でライトボックスを開くと、画像が実際のサイズで表示され、ページはめ込み表示よりも大きくなります

テーマのカスタムライトボックスを中断させないために、デフォルト以外の WordPress テーマでは、add_theme_support()を使用して新しい機能を有効にする必要があります。
それは簡単です; あなたはここでこれを行う方法を読むことができます。(作成中)

新しいCLI(コマンドラインインターフェイス)とRest API v2

2.6.xにはCLIがありましたが、それはカスタムであり、残りのコードベースとコードを共有しませんでした。 これは無駄であり、維持することは困難でした。 我々は結局、完全に吹き飛ばされたREST APIを持っています。 3.0.xでは、REST APIと直接統合し、同じ機能をすべてサポートする新しいCLIを作成しました。

ここで新しいCLIについて詳しく読むことができます。(作成中)

また、v1よりもいくつかの利点を備えた新しいバージョンのAPIを導入しました。 新しいものを要約すると:

  • ほとんどのエンドポイントでのメタデータのサポート
  • バリエーションの作成と更新のための新しいバリエーションエンドポイント。 また、製品のエンドポイントで直接バリエーションを操作する(broken)機能を使用できなくなっています。
  • 設定エンドポイント(更新/ビューショップ設定)。
  • 配送エリアエンドポイント。
  • 決済方法と配送方法のエンドポイント。
  • ヘッダーを使用したoAuth1.0a認証のサポートが追加されました。
  • 追加のキャッシュと低速クエリの削除(APIの顧客側からの最後のクエリ)

ここでREST APIのドキュメントを見ることができます。

新しいロギング(ログ取得)システム

拡張機能がイベント、エラー、および警告を記録するために使用できる新しいロガーは、古いロガーの制限事項に対処しています。 これにはログハンドラが含まれ、PSR-3ロガーインタフェースで記述されたメソッドが実装されており、はるかに拡張性があります。

新しいロガーには2つのハンドラーが含まれています。 ファイルとデータベースはデータベースハンドラで有効にすることができます。

define( 'WC_LOG_HANDLER', 'WC_Log_Handler_DB' );

改良されたロギング(ログ取得)システムの詳細はこちら

パフォーマンスの向上

3.0.xではいくつかのパフォーマンスが改善されています。 主なものを要約すると:

  • バリエーション商品の場合、具体的には、バリエーション商品の同期を最適化しようとしました。 上限/下限価格のメタデータはもはや格納されません(コアでは使用されませんでした)、主な価格だけ、子供が体重を持っている場合、および子供が次元を持つ場合。
  • テンプレートファイルでは、up-sells.phpとrelated.phpからWP_Queryを削除し、PHPのforeachループに置き換えました(既に製品IDがあるため)。 これは、商品ページとカートページのクエリを1つ少なくすることを意味します。
  • 古い注文が商品編集の新しいダウンロードにアクセスする機能を削除しました。 このアップデートを行うために何千もの命令をループする(潜在的に)と、一部の店舗ではパフォーマンスに負担がかかりすぎて、予期せぬ動作につながる可能性があります。 このアップデート後、私たちは編集されたダウンロードを更新するので、ファイルを編集しても購入者はそれをダウンロードできません。
  • 注文ページの[注文アイテム]列を削除しました。 これは便利なことですが、ページ上のすべての注文のすべてのアイテムを読み込むことは効果がありません。 これは将来的には戻ってくるかもしれませんが、ダイナミックである必要があるので、将来のUIの再設計のために残すことができます。
  • チェックアウトに注文する際に大きなリクエストを1回送信するのではなく、遅延したCRONイベントを実装してメールを送信しました。 これは、別の要求でわずかな遅延の後にメールを送信し、順番にテストで約50%のチェックアウトをスピードアップします。

さらに、投稿メタテーブルへの参加は、大きな製品カタログを持っているときに大幅に減速する可能性があるため、フロントエンドプロダクトフィルタにタクソノミをもっと活用するための最適化をいくつか行っています。

  • 商品の表示(カタログ、検索、またはその両方に製品が表示されているかどうかを制御する)は、以前は投稿メタであり、すべての WooCommerce 製品クエリで使用されていました。 3.0では、これは新しい product_visibility 分類法です。 テストでは、〜8k の製品で約94%の速度向上が見られました。
  • 注目商品は、metaの代わりに新しいproduct_visibility taxonomyを使用しているため、それらのクエリを改善します。
  • 在庫切れの商品についても同様です。 あなたのカタログから在庫切れの商品が隠れている場合は、改善が見られます。

ほかのすべて

  • 税率の並び替えは以前は手作業で行われていました。 税率のページがあると、これは煩雑になります。 3.0.xでは、税率を自動的に分類し、より一般的なルール(ソートする方法)よりも特定のルールを優先して配置しています。
  • フロントエンドでは、店舗全体の通知を却下するようにしました。モバイル上でコンテンツが重複している場合には問題が少なくなります。
  • WordPress ネットワーク/マルチサイトでは、ユーザーが現在の店舗のアカウントではなく口座を使用して店舗にログインすると、 WooCommerce は、2.6で行ったようにエラーをスローするのではなく、既存のユーザーを店舗に追加します。
  • 以前は、構造化されたデータがテンプレートファイル(製品などのマークアップ)にインラインで出力されていました。 3.0では、テンプレートファイルをきれいに保つJSON-LD形式に切り替えました。テーマ開発者によってカスタマイズされている場合、データはそのまま保持されます。
  • PayPal Standard で支払いを承認すると、注文が処理または完了に変更されると、資金が自動的に取り込まれます。 これは 2.6.x の手動プロセスでした。
  • カートと商品no
    割引率パーセントのクーポンタイプを1つに統合し、 product_cart ディスカウントを削除しました。 これらのクーポンが提供する割引は同じですが、商品クーポンのような適格なアイテムを割引するのではなく、カートに入っている非控除アイテムがあれば、カートベースの検証によってクーポンが適用されなくなります。 これは直感的ではなく、店舗の所有者と混乱を招きました。最も重要なのは、ユーザーがこれらのクーポンを使用するために2回チェックアウトしなければならないということです。
  • 販売アイテムを含むバリエーション商品価格には、取り消し線が含まれなくなります。 ストライクアウトの範囲とそれに続くストライクアウトのない範囲を表示すると、特に価格が重なった場合、混乱して長く続くことになります。 代わりに、今すぐ範囲を表示します。 バリエーションを選択すると、引き続き販売価格が表示されます。
  • グループ化された製品は、子供ではなく親からリンクされています。 子供は複数のグループに属します。

3.0 には多くの小さな変更や改良がありますが、これは主な変更点を示しています。

3.0へのアップグレード

いつものように、アップグレードする前に、拡張機能とテーマが3.0と互換性があり、バックアップを作成していることを確認してください。 不明な場合は、テーマ/拡張開発者に確認してください。
ストアの所有者、更新の準備に関するこの役立つガイドを読んで、更新後に非推奨の通知が表示されても気にならない場合は、 理由を理解するためにここをクリックしてください。
アップグレード後、データ・アップグレード・プロンプトはバックグラウンドで更新を実行します。 サイトにアクセスできない場合やパスワードで保護されていない場合は、cron ベースのフォールバックの実行が遅れることがあります。
まだ拡張機能やテーマを3.0.x(!)と互換性を持たせていないのであれば、私たちが独自のテストで書いてきたいくつかの注意点があります:

  • 2.6.xから3.0.0の開発者移行ノート
  • テンプレートの変更
  • 非推奨の関数とフィルタ
  • Bookings拡張機能の互換性の例
  • デポジットの互換性の例
  • その他の拡張機能の互換性の例

3.0のテスト方法

合計で、12月から “2.7”の4つのベータ版がありました。 興味がある場合は、ベータ1、ベータ2、ベータ3の投稿をチェックすることができます。 セマンティックバージョン管理に移行し、代わりに3.0.0を使用することを決定する前に、「2.7」のリリース候補がありました。 合計で、Githubからの統計によると、ベータ版のダウンロード数は少なくとも1,148件でした。
内部的には、独自のプラグインとテーマをテストしており、必要に応じてアップデートをリリースしています。サードパーティの開発者からのサポートも受けています。 私たちのサードパーティの開発者に最大の感謝を!
私たちが全面的に実施してきた手動テストとコミュニティによるテストに加えて、ユニットテストのカバレッジも徐々に拡大しており、現在は最大50%まで拡大しています。 Scruitinizerで現在のテストカバレッジを表示できます。

貢献者には大変感謝しています!

コミュニティーの皆様に貢献してくださった皆様に感謝します。問題報告、修正、翻訳、テスト、他のユーザーのサポートをしてくれた方々です。
以下、貢献者一覧(省略)

ここまで=============

つぎに、「WooCommerce 3.0.1 のリリースノート」です。これは、WooCommerceの開発者ブログの Say hello to WooCommerce 3.0.1 fix release notes” を翻訳したものです。

ここから =============
WooCommerce 3.0.1 修正リリースが利用可能になりました。 WordPress.org から、または管理パネルの自動アップデートとしてダウンロードできます。

このリリースでは、Github 3.0.0 の起動以降に報告された問題とサポートフォーラムで修正されています。 変更ログは以下の通りです。

詳細はWooCommerce のプラグインのページを御覧ください。

それ以上の問題が見つかった場合は、開発チームがレビューできるようにGitHubで詳細に報告してください。この投稿のコメントは終了しています。
ここまで =============

Published in アップデート情報

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.