如何在 Woocommerce 中的(单个)商店 page/product 页面上直接显示某些属性?

How to display some attributes directly on (single) shop page/product page in Woocommerce?

我正在尝试直接在商店页面上显示一些属性。属性都收集在数据库中。为了更容易展示,我做了一个屏幕截图,这样你就可以得到一个更好的主意。现在的问题是,我可以使用哪些代码来做到这一点。属性,总是有 4 个,应该在带有图片和购买按钮的块下居中显示。如果我们能找到一种方法来做到这一点,我会很高兴。非常感谢

好的,我在 Whosebug 上找到了一些代码...好消息是,我得到了我想要的 results/attributes,坏消息是,在错误的页面上(商店页面而不是商店单页)。

这是代码:

add_action('woocommerce_after_shop_loop_item_title', 'display_custom_product_attributes_on_loop', 5 );
function display_custom_product_attributes_on_loop() {
    global $product;

    // Settings: Here below set your product attribute label names
    $attributes_names = array('alter', 'bausteine', 'publicationdate', 'sku');

    $attributes_data  = array(); // Initializing

    // Loop through product attribute settings array
    foreach ( $attributes_names as $attribute_name ) {
        if ( $value = $product->get_attribute($attribute_name) ) {
            $attributes_data[] = $attribute_name . ': ' . $value;
        }
    }

    if ( ! empty($attributes_data) ) {
        echo '<div class="items" style="color: red;"><p>' . implode( '<br>', $attributes_data ) . '</p></div>';
    }
}

此代码向我显示了购物页面上的属性和结果,但我需要在单个商店 page/product 页面上使用它。

谢谢!

更改钩子名称然后检查

add_action('woocommerce_single_product_summary', 'display_custom_product_attributes_on_loop', 5 );

函数display_custom_product_attributes_on_loop() { 全球 $product;

// Settings: Here below set your product attribute label names
$attributes_names = array('alter', 'bausteine', 'publicationdate', 'sku');

$attributes_data  = array(); // Initializing

// Loop through product attribute settings array
foreach ( $attributes_names as $attribute_name ) {
    if ( $value = $product->get_attribute($attribute_name) ) {
        $attributes_data[] = $attribute_name . ': ' . $value;
    }
}

if ( ! empty($attributes_data) ) {
    echo '<div class="items" style="color: red;"><p>' . implode( '<br>', $attributes_data ) . '</p></div>';
}

}