web-dev-qa-db-ja.com

WooCommerce:データベース内の製品の検索

WooCommerceを使用してWebサイトを作成していますが、ホームページの検索フォームに入力する郵便番号に応じて、ユーザーが利用できる製品を制限したいと考えています。

それを実現するには、phpMyAdminでデータベース内の各製品の条件を指定する必要がありますが、見つけることができないようです。

製品やカテゴリのwoocommerceデータベースがphpmyAdmin内のどこにあるか、誰か知っていますか?

前もって感謝します。

43
T.Doe

製品は主に2つのテーブルにあります。

  • wp_postsのようなpost_typeテーブルproductまたはproduct_variation

  • 製品ごとの対応するwp_postmetaを持つpost_idテーブル(製品ID)。

製品タイプ、カテゴリ、サブカテゴリ、タグ、属性、およびその他のすべてのカスタム分類は、次の表にあります。

  • wp_terms

  • wp_termmeta

  • wp_term_taxonomy

  • wp_term_relationships

  • wp_woocommerce_termmeta

  • wp_woocommerce_attribute_taxonomies(製品属性のみ)


製品タイプは、カスタム分類product_typeによって次のデフォルト用語で処理されます。

  • simple
  • grouped
  • variable
  • external

Woocommerce 3以降では、product_visibilityという名前の新しいカスタム分類が処理されます。

  • 用語exclude-from-searchおよびexclude-from-catalogによる製品の可視性
  • 用語featuredの機能製品
  • 用語outofstockの在庫ステータス
  • rated-1からrated-5の用語を持つ評価システム

特定の機能:各製品属性はカスタム分類です…


参照:

75
LoicTheAztec

次の表は、ストアWooCommerce製品データベースです。

  • wp_posts-

    WordPressデータの中核は投稿です。 post_typeのような製品またはvariable_productに保存されます。

  • wp_postmeta-

    各投稿には、メタデータと呼ばれる情報があり、wp_postmetaに保存されます。一部のプラグインは、wp_postmetaテーブル内の製品のWooCommerceプラグインストアproduct_idなどの独自の情報をこのテーブルに追加する場合があります。

このテーブルに保存されている製品カテゴリ、サブカテゴリ:

  • wp_terms
  • wp_termmeta
  • wp_term_taxonomy
  • wp_term_relationships
  • wp_woocommerce_termmeta

Query製品カテゴリのリストを返します

SELECT wp_terms.* 
    FROM wp_terms 
    LEFT JOIN wp_term_taxonomy ON wp_terms.term_id = wp_term_taxonomy.term_id
    WHERE wp_term_taxonomy.taxonomy = 'product_cat';

詳細については-

7
Swapnali

Wooに新しいカテゴリを一括追加します。

カテゴリID、名前、URLキーを挿入

INSERT INTO wp_terms 
VALUES
  (57, 'Apples', 'fruit-apples', '0'),
  (58, 'Bananas', 'fruit-bananas', '0');

用語の値をカテゴリとして設定します

INSERT INTO wp_term_taxonomy 
VALUES
  (57, 57, 'product_cat', '', 17, 0),
  (58, 58, 'product_cat', '', 17, 0)

17-存在する場合、親カテゴリです

ここで重要なのは、wp_term_taxonomyテーブルterm_taxonomy_id、term_idがwp_termテーブルのterm_idと等しいことを確認することです

上記の手順を実行した後、wordpress adminに移動し、既存のカテゴリを保存します。これにより、DBが更新され、一括追加されたカテゴリが含まれます。

1
bsun1991

WordPressカスタムフィールド を使用して、各製品に適した郵便番号を保存することをお勧めします。 add_post_meta() および pdate_post_meta は、探しているものです。デフォルトのWordPressテーブル構造を変更することはお勧めしません。すべてのpostmetasはwp_postmetaテーブルに挿入されます。 wp_postsテーブル内で対応する製品を見つけることができます。

0
Pranav