Добавить название текущей категории к названию продукта в архивах категорий woocommerce

Я хотел бы отобразить текущую категорию в названии продукта в woocommerce. Что относится только к переменным продуктам.

Код ниже частично работает, но нуждается в некотором реформировании:

1 — применяется только для переменных продуктов.

2 — показать текущую категорию, в которой зритель не является основной категорией продукта.

remove_action('woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10);
function loop_title() {
global $post;?>
<div class="col-xl-3 col-md-3 col-sm-3">
<h2><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title(); ?> <?php
$terms = get_the_terms( $post->ID, 'product_cat' );
if ( $terms && ! is_wp_error( $terms ) ) :
if ( ! empty( $terms ) ) {
echo $terms[0]->name;
}?>
<?php endif;?></a></h2>

</div>
<?php }
add_action('woocommerce_shop_loop_item_title', 'loop_title', 10);

2

Решение

Обновлено: Следующее должно работать так, как вы ожидаете:

add_action( 'woocommerce_shop_loop_item_title', 'custom_shop_loop_item_title', 5 );
function custom_shop_loop_item_title() {
global $product;

if ( $product->is_type('variable') && is_product_category() ) {
remove_action('woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10);
add_action('woocommerce_shop_loop_item_title', 'custom_product_loop_title', 10);
}
}

function custom_product_loop_title() {
$taxonomy       = 'product_cat';
$queried_object = get_queried_object();
?>
<div class="col-xl-3 col-md-3 col-sm-3">
<h2><a href="<?php the_permalink(); ?>" class="feed-item-baslik"><?php the_title();
// For product category archives pages
if( is_a($queried_object, 'WP_Term') && $queried_object->taxonomy === $taxonomy ) {
echo ' ' . $queried_object->name;
}
?></a></h2>
</div>
<?php
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

3

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector