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

获取WooCommerce产品属性到侧边栏

薄涵衍
2023-03-14

我想在woocommerce侧边栏中显示所有可用的产品属性。根据我使用的设计和插件,这里很难使用小部件框,所以我选择循环所有可用的产品属性,并在侧边栏中显示它们。

我尝试了以下方法,可在wooCommerce文档,

  1. 获取属性()

也尝试了一些堆栈答案。

global $product;
$product->get_attributes();

但我仍然得到一个空数组。

我的侧边栏包含在WooCommerce存档页面中。如何获取属性名称及其值?

共有1个答案

羊舌琛
2023-03-14

您可以在将输出所有产品属性列表的自定义快捷码函数中使用wc\u get\u attribute\u taxonomies()函数。

然后,您可以将其添加到侧边栏上的文本小部件中(请参见末尾)。

短代码[产品属性]代码:

add_shortcode( 'product_attributes', 'get_product_attributes' );
function get_product_attributes() {
    $output = '<ul style="list-style:none;">';
    foreach( wc_get_attribute_taxonomies() as $attribute ) {
        $taxonomy = 'pa_' . $attribute->attribute_name;
        $term_names = get_terms( array( 'taxonomy' => $taxonomy, 'fields' => 'names' ) );

        $output .= '<li><strong>' . $attribute->attribute_label . ':</strong> ' . implode( ', ', $term_names ) . '</li>';
    }
    return $output . '</ul>';
}

代码function.php活动子主题(或活动主题)的文件中。测试和工作。

然后,您将在侧边栏中添加一个新的文本小部件,并将短代码粘贴在文本编辑器中,以获取产品属性列表...

 类似资料:
  • 我试图在woocommerce中获得一个特定的自定义属性。我在这个网站上读了很多文章,其中提供了3-5种方法。在尝试了所有方法之后,对我来说唯一有效的方法就是循环所有属性——所有其他属性都不起作用。我有一个名为“pdfs”的自定义属性 以下尝试不起作用:(链接) 这是唯一的一个工作:(链接) 我更希望能够使用第一个选项之一。任何帮助都将不胜感激。谢谢

  • 当我进入产品编辑页面时,有一个选项卡“属性”。在那里我可以设置属性名及其值。 我假设这就是在Woocommerce上为产品添加自定义属性的方式。 但是如何在循环中得到这个值呢? 我看到人们使用,但它希望我传递分类法和另一个参数数组。分类学是什么?我没有手动添加。论点是什么?

  • 问题内容: 在Woocommerce中,我试图获取产品自定义属性值,但我失败了,我一无所获。 所以我尝试了: 我正在获取这些原始数据: 我知道有一个值,因为它显示在属性部分,但是我只是找不到一种方法来将其显示在我的自定义代码中。 问题答案: 编辑* : 自Woocommerce版本3起已弃用 * 按照@datafeedr在他的答案中写道: 甚至更紧凑: 原始答案:

  • 在WooCommerce中,我试图获得产品自定义属性值,但我失败了,什么也得不到。 所以我试着: 我得到了这些原始数据: 我知道有一个值,因为它显示在属性部分,但我就是找不到一种方法用我的自定义代码显示它。

  • null 坦率地说,我不知道如何管理以提取值并在php专用字段上复制它们。它看起来像Json格式。有什么帮助如何解码这些信息和php形式的报告?

  • 这是我在woocommerce开发的网站。侧边栏不显示在类别页面的右侧,仅显示在类别页面上。在产品页面上,它显示良好。 用于显示产品存档的模板,包括作为帖子类型存档的主商店页面。 通过将此模板复制到Theme/woocommerce/archive产品来覆盖此模板。php