是否有任何wordpress的功能,显示只有特定的自定义属性的产品在每一个产品卡或产品概述页?

ibrsph3r  于 2022-12-22  发布在  WordPress
关注(0)|答案(1)|浏览(116)

我需要在wordpress网站的产品卡上显示一个自定义属性。我用了一个php函数,它是:

add_action( 'woocommerce_shop_loop_item_title',function(){
    
    global $product;
    
    echo wc_display_product_attributes( $product );
    
    

} );

这段代码启用或显示所有属性,但我只需要显示一个特定的属性。

ttp71kqs

ttp71kqs1#

您可以尝试使用Woocommerce的get_product_attributes()函数。这将返回一个产品属性数组,其中每个属性是一个包含属性名称和值的对象。

add_action( 'woocommerce_shop_loop_item_title', 'display_custom_attribute' );
function display_custom_attribute() {
    global $product;

    // Gettting all product attributes
    $attributes = $product->get_attributes();

    // confirming if the attribute you want to display exist
    // don't forget to replace your custom attribute name
    if ( isset( $attributes['your_custom_attribute_name'] ) ) {
        // retrieving the attribute object
        $attribute = $attributes['your_custom_attribute_name'];

        // then retrieving the attribute name and value
        $attribute_name = $attribute->get_name();
        $attribute_value = $attribute->get_options()[0]; // This is assuming that the attribute has only one value

        // finally echoing the attribute name and value
        echo '<div class="custom-attribute">';
        echo '<span class="attribute-name">' . $attribute_name . ': </span>';
        echo '<span class="attribute-value">' . $attribute_value . '</span>';
        echo '</div>';
    }
}

相关问题