Php 将woocommerce产品属性获取到侧栏

Php 将woocommerce产品属性获取到侧栏,php,wordpress,woocommerce,shortcode,custom-taxonomy,Php,Wordpress,Woocommerce,Shortcode,Custom Taxonomy,我想在woocommerce侧边栏中显示所有可用的产品属性。根据我使用的设计和插件,这里很难使用小部件框,所以我选择循环所有可用的产品属性,并在侧边栏中显示它们 我尝试了woocommerce上可用的以下方法 获取_属性() 获取_属性() 获取变量属性() 也尝试了一些堆叠的答案 global $product; $product->get_attributes(); 但我仍然得到一个空数组 我的侧边栏包含在woocommerce归档页面中。如何获取属性名称及其值?您可以在自定义快捷码

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

我尝试了woocommerce上可用的以下方法

  • 获取_属性()
  • 获取_属性()
  • 获取变量属性()
  • 也尝试了一些堆叠的答案

    global $product;
    $product->get_attributes();
    
    但我仍然得到一个空数组


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

    您可以在自定义快捷码函数中使用Woocommerce专用的
    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>';
    }
    
    add_shortcode('product_attributes','get_product_attributes');
    函数get_product_attributes(){
    $output='
      attribute\u name; $term_names=get_terms(数组('taxonomy'=>$taxonomy,'fields'=>'names'); $output.='
    • '.$attribute->attribute_label.:'.内爆(',',$term_names)。'
    • '; } 返回$output。“
    ”; }
    代码进入活动子主题(或活动主题)的function.php文件。测试和工作


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


    您是否已将内容加载到任何特定挂钩上。请使用var_dump($product)进行检查;请使用$product_id=10进行尝试$WC_产品=新WC_产品($Product_id)$var=$WC_产品->获取_属性()@dineshkashera它返回一些产品对象,先生。如果您想可视化,我可以将值添加到question@dineshkashera我想在侧边栏中显示所有产品属性。当用户点击其中一个时,我必须过滤产品并给出结果<代码>$WC\U Product=新WC\U产品($Product\U id)这听起来像是访问单个产品