簡體   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