有没有可能这个snippet从 Woo 6.5 开始就不再起作用了? 阅读 Woo 文档以找到解决方案。 我有这个,但似乎不再起作用了:
function custom_get_availability_text( $text, $product, $product_cat ) {
if ( $product->managing_stock() && $product->is_on_backorder( 1 ) && $product->get_stock_quantity() === 0 ) {
if(has_term( '2 à 5 werkdagen', $product->tags ) ) {
$text = __( '<p><span style="color: #99cc00;"><strong>Geschatte levertijd: 2 à 5 werkdagen</strong></span></p>' );
} elseif( has_term( '1 à 2 weken', $product->tags ) ) {
$text = __( '<p><span style="color: #99cc00;"><strong>Geschatte levertijd: 1 à 2 weken</strong></span></p>' );
} elseif(has_term( '2 à 3 weken', $product->tags ) ) {
$text = __( '<p><span style="color: #99cc00;"><strong>Geschatte levertijd: 2 à 3 weken</strong></span></p>' );
} elseif(has_term( 'Abonnementen', $product_cat ) || has_term( 'Abonnementen', $product->tags ) ) {
$text = __( '<p><strong>Doorlopende betalingsopdracht</strong></p>' );
}
}
return $text;
}
add_filter( 'woocommerce_availability_text', 'custom_get_availability_text', 10, 3 );
尝试使用文档中的新信息调整代码。 删除了
$text
参数并使用了 return _
但没有效果。
您的代码中存在一些错误和错误。请尝试使用以下重新访问的代码:
add_filter( 'woocommerce_get_availability_text', 'custom_get_availability_text', 10, 2 );
function custom_get_availability_text( $availability, $product ) {
if ( $product->managing_stock() && $product->is_on_backorder( 1 ) ) {
$style_tag = ' style="color: #99cc00;"';
$html_string = '<p%s><strong>%s</strong></p>';
if (has_term( '2 à 5 werkdagen', 'product_tag' ) ) {
$availability = sprintf( $html_string, $style_tag, __('Geschatte levertijd: 2 à 5 werkdagen', 'woocommerce') );
} elseif( has_term( '1 à 2 weken', 'product_tag' ) ) {
$availability = sprintf( $html_string, $style_tag, __('Geschatte levertijd: 1 à 2 weken', 'woocommerce') );
} elseif(has_term( '2 à 3 weken', 'product_tag' ) ) {
$availability = sprintf( $html_string, $style_tag, __('Geschatte levertijd: 2 à 3 weken', 'woocommerce') );
} elseif(has_term( 'Abonnementen', 'product_cat' ) || has_term( 'Abonnementen', 'product_tag' ) ) {
$availability = sprintf( $html_string, '', __('Doorlopende betalingsopdracht', 'woocommerce') );
}
}
return $availability;
}
应该可以。