繁体   English   中英

在Woocommerce存档页面中显示特定产品属性

[英]Display specific product attribute in Woocommerce archive pages

我一直在四处寻找答案,但是还没有走运。 基本上,我想在存档/商店页面的产品标题下显示一些元数据。 我的属性是“颜色”,因此在尝试了各种代码之后,我想到了:

add_action( 'woocommerce_after_shop_loop_item', 'acf_template_loop_product_meta', 20 );

function acf_template_loop_product_meta() {

    echo '<h4>Color:' . get_field( '$colors = $product->get_attribute( 'pa_colors' )' .'</h4>';
    echo '<h4>Length:' . get_field( 'length' ) . '</h4>';
    echo '<h4>Petal Count:' . get_field( 'petal_count' ) . '</h4>';
    echo '<h4>Bud Size:' . get_field( 'bud_size' ) . '</h4>';
}

最后三行代码与“高级自定义字段”相关,并且它们都能正常工作。 这是试图获得我遇到问题的颜色属性的人。 显示该代码的正确代码是什么?

首先,如果您使用WC_Product实例对象,则需要对其进行调用并检查它,然后再对其使用任何WC_Product 方法

并且get_field( '$colors = $product->get_attribute( 'pa_colors' )'总是会抛出错误;或者您使用ACF字段,或者得到要显示的产品属性“ pa_colors”值。

请尝试以下操作:

add_action( 'woocommerce_after_shop_loop_item', 'acf_template_loop_product_meta', 20 );
function acf_template_loop_product_meta() {
    global $product;

    // Check that we got the instance of the WC_Product object, to be sure (can be removed)
    if( ! is_object( $product ) ) { 
        $product = wc_get_product( get_the_id() );
    }

    echo '<h4>Color:' . $product->get_attribute('pa_colors') .'</h4>';
    echo '<h4>Length:' . get_field('length') . '</h4>';
    echo '<h4>Petal Count:' . get_field('petal_count') . '</h4>';
    echo '<h4>Bud Size:' . get_field('bud_size') . '</h4>';
}

代码进入您的活动子主题(或活动主题)的function.php文件中。 它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM