向 WooCommerce 单一产品页面添加多个元字段

问题描述 投票:0回答:1

我在单个产品页面上显示自定义元字段:

function my_custom_field() {
global $product;
$value = get_post_meta( $product->id, 'color', true );

if ( ! empty( $value ) ) {
echo $value;
}

add_action('woocommerce_single_product_summary', 'my_custom_field', 30 );

现在我还有几个自定义字段需要显示(只是值,而不是标签)。

如何将这些添加到代码中?

php wordpress woocommerce product
1个回答
1
投票

这将在 WooCommerce 单一产品页面上显示多个元字段。

通过添加到我的答案中的评论标签进行解释:

function action_woocommerce_single_product_summary() {
    // Add meta keys, multiple can be added separated by a comma
    $meta_keys = array( 'color', 'lot_number', '_missing_stock', '_rating' );

    // Get the global product object
    global $product;
    
    // Is a WC product
    if ( is_a( $product, 'WC_Product' ) ) {
        foreach ( $meta_keys as $meta_key ) {
            // Get meta value
            $value = $product->get_meta( $meta_key );

            // NOT empty
            if ( ! empty ( $value ) ) {
                echo '<p>' . $value . '</p>';
            }
        }
    }
}
add_action( 'woocommerce_single_product_summary', 'action_woocommerce_single_product_summary', 10, 0 );

注意:自 WooCommerce 3 (2017) 起,代码中的

$product->id
需要为
$product->get_id()
。但是,不使用它也是可能的,正如您在我的回答中看到的那样

© www.soinside.com 2019 - 2024. All rights reserved.