【问题标题】:"is_visible" flag location for Woocommerce products attributesWoocommerce 产品属性的“is_visible”标志位置
【发布时间】:2014-02-25 13:10:21
【问题描述】:

这件事让我发疯了,因为在浪费了几天时间浏览我的数据库之后,我仍然无法找到以下问题的答案:

Woocommerce 产品属性的 mysql DB 中存储的标志“is_visible”在哪里?

我检查了所有表格 1000 次,但我不明白标志选项“产品页面上可见的属性”在哪里以及如何存储在 Wordpress 数据库中。

谢谢!

恩里科

【问题讨论】:

  • 你能描述一下你已经检查过的地方吗?
  • 我在数据库上做了很多逆向操作:我能够找出属性是如何存储的,以及如何与在 wp_posts、wp_postmeta、wp_woocommerce_termmeta、wp_woocommerce_attribute_taxonomies、wp_terms、wp_term_relationships、wp_term_taxonomy 之间运行查询(连接)的产品相关联但我发现的唯一“可见”条目是帖子(不相关)。我正在考虑调试所有 sql 查询,同时在 WP 后端更改该值,但不幸的是我无法在数据库上启用调试模式,因为我没有完全的管理员权限。
  • 我找到了信息的存储位置:我做了数据库转储,更改了属性的可见性标志并进行了新转储:在转储之间运行差异 我意识到所有属性数据每个产品都存储在 wp_postmeta 表中的同一条目下(这些条目太长以至于它们没有显示并且无法从 phpMyAdmin 完全查看!)。这是一个文本值,但实际上它似乎是一个 php 数组变量的转储。

标签: mysql wordpress attributes woocommerce


【解决方案1】:

数据存储在 postmeta 表中。然而,处理它并不是很直接。如果您选择产品并搜索产品 ID 作为 post_id,您将看到带有 meta_key _product_attributes 的记录。在元值中,您将找到一个序列化的属性数组,包括 is_visible。

要小心,因为如果你只是在 phpmyadmin 中编辑它,你可能会把事情搞得一团糟。如果你不知道什么是序列化数组,google一下吧。

【讨论】:

    【解决方案2】:

    如果有人在 2022 年或之后搜索此值:与此同时,woocommerce 不会将此值存储在 post_meta 表中。相反,有一个名为“product_visibility”的分类法,具有不同的状态(从目录中排除、从搜索中排除)。在“term_relationships”表中存储了哪些值与产品相关联。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      相关资源
      最近更新 更多