向 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()
。但是,也可以不使用它,正如您在我的回答中看到的那样
我在单个产品页面上显示自定义元字段:
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()
。但是,也可以不使用它,正如您在我的回答中看到的那样