根据WooCommerce中的产品类别定制缺货文本(&O)
每件缺货产品都会显示缺货
有很多functions.php
脚本可以覆盖文本,但我只是尝试覆盖特定于类别A&q;的文本,或者如果我知道类别&id&q;编号,也可以这样做。
我找到此脚本,但它仅允许您修改每个产品ID的txt。
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 10, 2);
function wcs_custom_get_availability( $availability, $_product ) {
// custom
if ( $_product->is_in_stock() && $_product->get_id() == '6498' ) {
$availability['availability'] = sprintf( __('✔️ Available but low in stock | 30-day No Questions Asked Money-Back Guarantee Applies', 'woocommerce'), $_product->get_stock_quantity());
}
// Out of stock
if ( ! $_product->is_in_stock() ) {
$availability['availability'] = __('Sorry, All sold out!', 'woocommerce');
}
return $availability;
}
如何在考虑类别的情况下进一步调整此脚本?
解决方案
要检查产品类别,可以使用has_term()
has_term( string|int|array $term = '', string $taxonomy = '', int|WP_Post $post = null )
检查当前帖子是否有任何给定术语。
因此您得到:
function filter_woocommerce_get_availability( $availability, $product ) {
// Specific categories
$specific_categories = array( 'Categorie-A', 'categorie-1' );
// Out of stock and has certain category
if ( ! $product->is_in_stock() && has_term( $specific_categories, 'product_cat', $product->get_id() ) ) {
$availability['availability'] = __('My custom text', 'woocommerce' );
}
return $availability;
}
add_filter( 'woocommerce_get_availability', 'filter_woocommerce_get_availability', 10, 2 );
相关文章