在WooCommerce中获取产品信息

时间:2020-10-23 作者:abu abu

我正在使用以下功能在商店页面中显示产品信息。

function woocommerce_template_loop_product_title() {
        echo \'<h5 class="\' . esc_attr( apply_filters( \'woocommerce_product_loop_title_classes\', \'woocommerce-loop-product__title\' ) ) . \'">\' . get_the_title() . \' </h5>\'; 
        echo \'<p>\' . get_the_excerpt() . \'</p>\';
    }
我可以取产品shot description 使用get_the_excerpt(). 但我想获取所有产品信息,如尺寸、价格、颜色。

我可以在产品页面中看到以下信息。

enter image description here

我想把这些信息和所有产品一起放在商店页面上。

如何获取所有产品信息?

2 个回复
SO网友:HK89

没有变化的产品属性不会显示在商店页面中(&A);产品页面

在产品(Refer blog )

注:产品变体仅用于可变产品。

然后将此代码放入函数中。php

   add_action( \'woocommerce_after_shop_loop_item_title\', \'bbloomer_echo_stock_variations_loop\' );

function bbloomer_echo_stock_variations_loop(){
    global $product;
    if ( $product->get_type() == \'variable\' ) {
        foreach ( $product->get_available_variations() as $key ) {
            $attr_string = array();
            foreach ( $key[\'attributes\'] as $attr_name => $attr_value ) {
                $attr_string[] = $attr_value;
                $arr_names[] = $attr_name;
            }

            $attr_color = $arr_names[0];
            $attr_size = $arr_names[1];
            $strle = \'attribute_pa_\';

            $attr_name_a  = substr($attr_color, strlen($strle));
            $attr_name_a2  = substr($attr_size, strlen($strle));

           
            if ( $key[\'max_qty\'] > 0 ) { 
              echo \'<div><p>\' .$attr_name_a.\' : \'.$attr_string[0].\' , \'.$attr_name_a2.\' : \'.$attr_string[1].\' , \' . $key[\'max_qty\'] . \' in stock</p></div>\'; 
            } else { 
              echo \'<div><p>\' .$attr_name_a.\' : \'. $attr_string[0].\',\' .$attr_name_a2.\' : \'.$attr_string[1].\'   out of stock</p></div>\'; 
            }
        }
    }
}
如下图所示:

enter image description here

SO网友:HK89

完整的woocommerce产品说明加载项商店页面。

  add_action( \'woocommerce_after_shop_loop_item_title\', 
   \'wc_add_short_description\' );

  function wc_add_short_description() {
    global $product;

    ?>
        <div itemprop="description">
            <?php echo apply_filters( \'woocommerce_short_description\', $product->post-> post_excerpt ) ?>
        </div>
    <?php
}
此代码加载项函数。php文件

相关推荐