当前位置: 首页 > 知识库问答 >
问题:

WooCommerce产品属性键和值存储在哪里

燕智
2023-03-14

我为一个产品添加了一个产品属性键和值。

我想通过这个属性查询产品。我有一个查询(这里不相关),但它没有返回任何东西。于是我弹出打开PHPMyAdmin,开始搜索我的本地数据库从头开始。

我在任何地方都找不到我的新属性。

所以: 通过站点的本地主机版本的管理员设置。检查了DB连接,指向的是本地MySQL实例。保存属性,点击产品上的更新,离开产品页面并返回以确保属性确实在产品上并保存。

数据库里什么都没有。

列中搜索 将得到零结果。我确实在这里看到了 +其他自定义属性名的其他记录。

单击其他表(如 )也不会显示任何与 输入匹配的记录。

将相同的属性添加到第二个产品,但仍然找不到任何内容。已重新确认DB连接。数据库里没有我能找到的记录。

但它绝对存在的产品在管理。

我错过了什么?

共有1个答案

卓致远
2023-03-14

结果显示它们存储在一个序列化字段中。

$attribute_name  = 'my-attribute';
$attribute_value = 'cupcakes';

$serialized_value = serialize( 'name' ) . serialize( $attribute_name ) . serialize( 'value' ) . serialize( $attribute_value ); 
$args = array(
    'post_type'      => 'product',
    'post_status'    => 'any',
    'posts_per_page' => -1,
    'orderby'        => 'title',
    'order'          => 'ASC',
    'meta_query' => array(
        array(
            'key'     => '_product_attributes',
            'value'   => $serialized_value,
            'compare' => 'LIKE',
        ),
    ),
);

$query = new WP_Query( $args );
$products = $query->get_posts();
//neat little array of product objects (not the full product object, 
//just data that came from query. Can use wordpress loop on $query or
//wc_get_product(--pass product ID here--)
 类似资料:
  • 如何通过代码为woocommerce属性添加值?我已经创建了一个名为“Dispatch time”(分类法:pa_Dispatch)的属性,现在我想为特定产品的Dispatch属性添加值。 如何通过编程实现这一点?

  • 当我试图获得所有产品属性时,它们没有任何值。 回应- 阵列([pa_品牌]= 但它在后端显示值

  • 我正在以编程方式创建属性变体(变量产品)。我见过的所有东西都很容易做到这一点,但是值就是不显示出来。下面是我的代码: null 我已经尝试了所有的方法:将上面的值设置为术语slugs的数组,ID的数组,ID或slug/VALUE的简单字符串。什么都不管用。我还跟踪了这些stackoverflow问题: WooCommerce:向产品属性添加值br>创建WooCommerce产品变体添加空属性值br

  • 我正在使用此代码添加自定义属性 这个代码的结果我得到了添加只是产品属性名称没有术语值... 我找了很多,但没有得到任何答案。

  • 第一件事:这是我在stackoverflow上发布的第一个问题。换句话说,这是我在你们的帮助下无法独自解决的第一个问题(非常感谢你们,你们让世界运转起来!)。 我的问题与@LoictheAztec对另一个问题的回答有关(我原本计划在那篇文章的评论中发布我的问题,但由于我是/曾经是潜伏者,我缺乏这样做的声誉):https://stackoverflow.com/a/47766413/13263330

  • 在WooCommerce中,我试图使用以下代码将产品类别转换为产品属性: Is的部分工作原理与我在后端产品中需要看到的一样