首页 > 解决方案 > 向 WooCommerce 单品页面添加多个元字段

问题描述

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

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

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

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

标签: phpwordpresswoocommerceproductmeta

解决方案


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


推荐阅读