Все работает хорошо, если я удаляю && $product->is_type( 'variable' )
Однако, когда я добавляю эту строку, первое if, кажется, не работает. Что я делаю не так?
Ожидается: если товар находится в категории "farsk-ved" и является продуктом с изменяющимися параметрами, текст должен быть "Välj längd". Таким образом, все отдельные продукты должны go к разделу "else" ("Köp").
Что происходит: все продукты, кроме части "elseif", получают "köp".
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_loop_add_to_cart_button', 20, 2 );
function custom_loop_add_to_cart_button( $button_text ) {
// BELOW set the product categoty slug and the product ID
$product = new WC_Product( get_the_ID() );
if ( has_term( 'farsk-ved', 'product_cat') && $product->is_type( 'variable' )) {
$button_text = __("Välj längd", "woocommerce");
}
elseif ( has_term( 'torr-ved', 'product_cat') ) {
$button_text = __("Välj mängd", "woocommerce");
}
else {
$button_text = __("Köp", "woocommerce");
}
return $button_text;
}