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

Adding several meta fields to WooCommerce single product page

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

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 );

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

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

这将在 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()。但是,也可以不使用它,正如您在我的回答中看到的那样