当产品在 WooCommerce 中有特色时显示带有术语的标签
Show label with term when product is featured in WooCommerce
在 WooCommerce 单个产品页面上,通过高级自定义字段使用 true/false,我有一个标签,它在文本中显示 'Featured' 个术语并且工作正常。
这个...
add_action( 'woocommerce_before_single_product_summary', 'property_main_details_field', 1 );
function property_main_details_field() {
if ( get_field('featured_property') == 1 ) {
?>
<span class="property-contract-badge">Featured</span>
<?php
}
}
但是,考虑到 WooCommerce 已经内置了特色产品选择,我想最小化自定义字段并将其替换为来自 WooCommerce 的 true/false ID。
如果我没看错,特色产品现在由 product_visibility WooCommerce 中特色术语的自定义分类处理。
如果是这样,我可以在 span 标签中使用 Tax Query 然后 echo $term->name;
吗?
<span class="property-badge">
<?php
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
?>
</span>
有几个选项。其中 1 是使用 wc_get_featured_product_ids(),即 returns 包含特色产品 ID 的数组。
如果 productID 存在于数组中,则它是特色产品。
function action_woocommerce_before_single_product_summary() {
global $product;
// Is a WC product
if ( is_a( $product, 'WC_Product' ) ) {
// Get productID
$product_id = $product->get_id();
// Returns an array containing the IDs of the featured products.
$featured_product_ids = wc_get_featured_product_ids();
// Checks if a value exists in an array
if ( in_array( $product_id, $featured_product_ids ) ) {
echo '<span class="property-contract-badge">Featured</span>';
} else {
echo 'NOT featured';
}
}
}
add_action( 'woocommerce_before_single_product_summary', 'action_woocommerce_before_single_product_summary', 1 );
代码进入活动子主题(或活动主题)的 functions.php 文件。在 Wordpress 5.8.1 和 WooCommerce 5.8.0
中测试和工作
在 WooCommerce 单个产品页面上,通过高级自定义字段使用 true/false,我有一个标签,它在文本中显示 'Featured' 个术语并且工作正常。
这个...
add_action( 'woocommerce_before_single_product_summary', 'property_main_details_field', 1 );
function property_main_details_field() {
if ( get_field('featured_property') == 1 ) {
?>
<span class="property-contract-badge">Featured</span>
<?php
}
}
但是,考虑到 WooCommerce 已经内置了特色产品选择,我想最小化自定义字段并将其替换为来自 WooCommerce 的 true/false ID。
如果我没看错,特色产品现在由 product_visibility WooCommerce 中特色术语的自定义分类处理。
如果是这样,我可以在 span 标签中使用 Tax Query 然后 echo $term->name;
吗?
<span class="property-badge">
<?php
$tax_query[] = array(
'taxonomy' => 'product_visibility',
'field' => 'name',
'terms' => 'featured',
'operator' => 'IN',
);
?>
</span>
有几个选项。其中 1 是使用 wc_get_featured_product_ids(),即 returns 包含特色产品 ID 的数组。
如果 productID 存在于数组中,则它是特色产品。
function action_woocommerce_before_single_product_summary() {
global $product;
// Is a WC product
if ( is_a( $product, 'WC_Product' ) ) {
// Get productID
$product_id = $product->get_id();
// Returns an array containing the IDs of the featured products.
$featured_product_ids = wc_get_featured_product_ids();
// Checks if a value exists in an array
if ( in_array( $product_id, $featured_product_ids ) ) {
echo '<span class="property-contract-badge">Featured</span>';
} else {
echo 'NOT featured';
}
}
}
add_action( 'woocommerce_before_single_product_summary', 'action_woocommerce_before_single_product_summary', 1 );
代码进入活动子主题(或活动主题)的 functions.php 文件。在 Wordpress 5.8.1 和 WooCommerce 5.8.0
中测试和工作