【发布时间】:2021-05-20 13:35:07
【问题描述】:
我在单个产品页面上显示多个产品属性和自定义元字段,并使用我得到的此代码here:
function action_woocommerce_single_product_summary() {
global $product;
$attributes_names = array( 'Brand', 'Color', 'Size' );
$attributes_data = array();
foreach ( $attributes_names as $attribute_name ) {
if ( $value = $product->get_attribute($attribute_name) ) {
$attributes_data[] = $attribute_name . ': ' . $value;
}
}
// NOT empty
if ( ! empty($attributes_data) ) {
echo '<h4>' . __( 'Details', 'woocommerce' ) . '</h4><ul><li>' . implode( '</li><li>', $attributes_data );
}
// Get meta
$sn = $product->get_meta( 'Serial_Number' );
$mpn = $product->get_meta( 'MPN' );
// NOT empty
if ( ! empty ( $sn ) ) {
echo '<li>' . __( 'My label 1: ', 'woocommerce' ) . $sn . '</li>';
}
// NOT empty
if ( ! empty ( $mpn ) ) {
echo '<li>' . __( 'My label 2: ', 'woocommerce' ) . $mpn . '</li>';
}
echo '</ul>';
}
add_action( 'woocommerce_single_product_summary', 'action_woocommerce_single_product_summary', 36, 0 );
我的问题是h4('Details')和起始ul只有在有属性的时候才会显示。当产品只设置了自定义字段时,不显示列表的 h4 和起始 ul。我怎样才能总是显示 h4 和开始
- 每当为产品设置属性或自定义字段时?
- 具有属性和自定义字段的产品
- 只有属性或自定义字段的产品
- 既没有属性也没有自定义字段的产品
编辑澄清:有 3 种可能的产品类型:
对于第一类产品,应该显示例如:
<h4>Details</h4>
<ul>
<li>Brand: ...</li>
<li>MPN: ...</li>
</ul>
对于第二种类型的产品,示例如下:
<h4>Details</h4>
<ul>
<li>MPN: ...</li>
</ul>
对于最后一种产品,根本不应该显示任何内容。
【问题讨论】:
标签: php wordpress woocommerce