【问题标题】:WooCommerce: Finding the products in databaseWooCommerce:在数据库中查找产品
【发布时间】:2016-08-26 05:01:43
【问题描述】:

我正在使用 WooCommerce 创建一个网站,我想根据用户在我主页上的搜索表单中输入的邮政编码来限制用户可以使用的产品。

为了实现这一点,我必须在 phpMyAdmin 的数据库中指定每个产品的条件,但我似乎找不到。

有人知道产品和/或类别的 woocommerce 数据库在 phpmyAdmin 中的什么位置吗?

提前谢谢你。

【问题讨论】:

    标签: mysql database wordpress woocommerce product


    【解决方案1】:

    2020 年更新

    产品主要位于以下表格中:

    • wp_posts table with post_type like product(或product_variation),

    • wp_postmeta 表,post_id 作为关系索引(产品 ID)。

    • wp_wc_product_meta_lookup 表,product_id 作为关系索引(帖子 ID)|允许对特定产品数据进行快速查询(自 WooCommerce 3.7 起)

    • wp_wc_order_product_lookuptable 与 product_id 作为关系索引(帖子 ID)|允许快速查询以检索订单上的产品(自 WooCommerce 3.7 起)

    产品类型、类别、子类别、标签、属性和所有其他自定义分类位于下表中:

    • wp_terms

    • wp_termmeta

    • wp_term_taxonomy

    • wp_term_relationships - 列 object_id 作为关系索引(产品 ID)

    • wp_woocommerce_termmeta

    • wp_woocommerce_attribute_taxonomies(仅适用于产品属性)

    • wp_wc_category_lookup (仅适用于自 WooCommerce 3.7 起的产品类别层次结构)


    产品类型由自定义分类法product_type 处理,具有以下默认术语:

    • simple
    • grouped
    • variable
    • external

    订阅和预订插件的其他一些产品类型:

    • subscription
    • variable-subscription
    • booking

    从 Woocommerce 3+ 开始,一个名为 product_visibility 的新自定义分类句柄:

    • 使用术语exclude-from-searchexclude-from-catalog 的产品可见性
    • 带有featured字样的特色产品
    • 带有outofstock字样的库存状态
    • rated-1rated-5 的评级系统

    特殊功能:每个产品属性都是一个自定义分类......


    参考资料:

    【讨论】:

    • 我找不到 Woocomerce 存储关系产品 -> 供应商的位置。我正在尝试从前端将供应商推向产品。
    • @Pickeroll 这是因为一些供应商插件有自己的自定义表......
    • 找不到product_type 分类法,您在看什么表?在我的情况下,我当然没有wp_woocommerce_attribute_taxonomies 带有正确前缀的检查。
    • @S.Redrum 它在 wp_term_taxonomy 表上
    • @ChrisCox 在 wp_terms、wp_term_taxonomy(和 wp_term_relationships)中……
    【解决方案2】:

    下表是存储 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

    按照查询返回产品类别

    的列表
    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';
    

    更多参考 -

    【讨论】:

      【解决方案3】:

      向 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 管理员并保存任何现有类别。这将更新数据库以包含您批量添加的类别

      【讨论】:

        【解决方案4】:

        我建议使用WordPress custom fields 存储每个产品的合格邮政编码。 add_post_meta()update_post_meta 是您正在寻找的。不建议更改默认的 WordPress 表结构。所有 postmetas 都插入到 wp_postmeta 表中。您可以在wp_posts表中找到对应的产品。

        【讨论】:

          【解决方案5】:

          通过提供 product_id(wp_posts ID 列)获取产品类别 ID:

          SELECT
              term_taxonomy_id
          FROM
              wp_term_relationships
          WHERE
              object_id = PRODUCT_ID_HERE
              AND
              term_taxonomy_id IN
                  (
                      SELECT
                          term_taxonomy_id
                      FROM
                          wp_term_taxonomy
                      WHERE
                          taxonomy LIKE 'product_cat'
                  )
          

          获取类别数据(名称,slug)和类别层次结构:

          SELECT
              wp_terms.term_id,
              wp_terms.name,
              wp_terms.slug,
              wp_term_taxonomy.parent
          FROM
              wp_terms
          LEFT JOIN
              wp_term_taxonomy
              ON wp_terms.term_id = wp_term_taxonomy.term_id
          WHERE
              wp_term_taxonomy.taxonomy LIKE 'product_cat'
          

          【讨论】:

            猜你喜欢
            • 2015-01-19
            • 1970-01-01
            • 2019-06-20
            • 2015-09-05
            • 2021-06-09
            • 2019-07-31
            • 2020-01-03
            • 2018-03-31
            • 1970-01-01
            相关资源
            最近更新 更多