显示未针对 Woocommerce 产品变体的变体设置的产品属性

Display product attributes not set for variation on Woocommerce product variations

我在每个产品变体上都有自定义选项卡,其中包含一些 'variation description' 静态内容,并且当我 select 变体 时,我已在产品页面以及 > 产品摘要中显示这些内容(如 this link.

现在我需要在产品循环 的商店页面上显示相同内容(参见我的 shop page

或者更好地显示特定属性。我试过这段代码:

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

    echo '<h4><b>Seizoen:</b>' . $product->get_attribute('pa_seizoen') .'</h4>';
    echo '<h4><b>Maat:</b> ' . $product->get_attribute('pa_maat') .'</h4>';
    echo '<h4><b>Tijk:</b> ' . $product->get_attribute('pa_tijk-weving') .'</h4>';
    echo '<h4><b>Vulkracht:</b> ' . $product->get_attribute('pa_fullkraft[') .'</h4>';
    echo '<h4><b>Vulkracht:</b> ' . $product->get_attribute('pa_vulling') .'</h4>';
}

但无论我做什么,我得到的结果都是一样的,它只显示产品变体中的产品属性:前两个 "season and size"。

感谢任何帮助。

您正在使用在您的商店页面(或存档页面)上单独显示每个产品变体的插件(或一些自定义项)。

因此您需要为未设置变体的其他产品属性获取父变量产品(以及产品描述或其他所需的相关数据):

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

    if( $seizoen = $product->get_attribute('pa_seizoen') ) {
        echo '<h4><strong>Seizoen:</strong>' . $seizoen . '</h4>';
    }
    if( $maat = $product->get_attribute('pa_maat') ) {
        echo '<h4><strong>Maat:</strong> ' . $maat . '</h4>';
    }

    $parent_id = $product->get_parent_id(); // Get the parent Variable Product ID
    // Below, all Parent variable product data
    if( $parent_id > 0 && $parent_product = wc_get_product($parent_id) ) {
        if( $tijk_weving = $parent_product->get_attribute('pa_tijk-weving') ) {
            echo '<h4><strong>Tijk:</strong> ' . $tijk_weving . '</h4>';
        }
        if( $fullkraft = $parent_product->get_attribute('pa_fullkraft') ) {
            echo '<h4><strong>Vulkracht:</strong> ' . $fullkraft . '</h4>';
        }
        if( $vulling = $parent_product->get_attribute('pa_vulling') ) {
            echo '<h4><strong>Vulling:</strong> ' . $vulling . '</h4>';
        }

        // Display the parent variable product description
        echo '<p><strong>Beschrijving:</strong> ' . $parent_product->get_description() . '</p>';

        // Display the parent variable product short description
        echo '<p><strong>Korte beschrijving:</strong> ' . $parent_product->get_short_description() . '</p>';
    }  

    // Display the product variation description
    // echo '<p><strong>Beschrijving:</strong> ' . $product->get_description() . '</p>';

    // Display the product variation weight
    // echo '<p><strong>Gewicht:</strong> ' . wc_format_weight( $product->get_weight() ) . '</p>';

    // Display the product variation dimensions
    // echo '<p><strong>Dimensies:</strong> ' . $product->get_dimensions() . '</p>';
}

代码进入您的活动子主题(或活动主题)的 functions.php 文件。它现在应该可以工作了。