Как заменить тег у товаров в каталоге на?
Подскажите как сейчас вырезать H2 из названия товаров в каталоге? После обновления WooCommerce старый код перестал работать.
Тема blocksy
Старый код
// Remove the product title from the product loop remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 ); // Add the product title to the product loop as an anchor tag add_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title_as_anchor', 10 ); /** * Display the product title as an anchor tag in the product loop. */ function woocommerce_template_loop_product_title_as_anchor() { global $product; $title = $product->get_title(); if ( ! $product->is_visible() ) { return; } echo '<a href="' . get_the_permalink() . '">' . $title . '</a>'; } |
// Remove the product title from the product loop remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 ); // Add the product title to the product loop as an anchor tag add_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title_as_anchor', 10 ); /** * Display the product title as an anchor tag in the product loop. */ function woocommerce_template_loop_product_title_as_anchor() { global $product; $title = $product->get_title(); if ( ! $product->is_visible() ) { return; } echo '<a href="' . get_the_permalink() . '">' . $title . '</a>'; }
Дополнительные вопросы
Какой "старый код"?
Refguser @Refguser Делаю ИМ и другие решения Код рабочий, но в данной теме работает не так, как ожидается (происходит дублирование названий товара).
Однако в этой теме он совершенно не нужен, тк в ней есть настройки заголовков товаров
Ответы на вопрос 0
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

После обновления WooCommerce старый код мог перестать работать из-за изменения шаблонов темы или порядка hooks. Но задача «заменить H2 у товаров в каталоге на ссылку/другой тег» всё ещё решается через удаление стандартного вывода заголовка и добавление своего.
Для WooCommerce стандартный заголовок в loop выводится функцией
woocommerce_template_loop_product_title. Можно заменить её так:remove_action( 'woocommerce_shop_loop_item_title', 'woocommerce_template_loop_product_title', 10 ); add_action('woocommerce_shop_loop_item_title', function () { echo '<div class="woocommerce-loop-product__title">'; echo '<a href="' . esc_url(get_the_permalink()) . '">' . esc_html(get_the_title()) . '</a>'; echo '</div>'; }, 10);
Если нужно именно убрать
h2, но сохранить классы для стилей, используйтеdivилиspanс тем же классом. Так меньше риск сломать CSS темы.В Blocksy часть WooCommerce-разметки может переопределяться темой. Если код выше не срабатывает, проверьте:
woocommerce/с переопределёнными шаблонами.Если тема полностью контролирует карточку товара, иногда проще переопределить шаблон
content-product.phpв дочерней теме, но это более хрупкий путь. Сначала пробуйте hooks.После правки проверьте HTML каталога и SEO-логику. Убирать H2 из карточек товара на архиве часто нормально, но убедитесь, что на странице остаётся один понятный H1 и корректная структура заголовков. Не стоит заменять все заголовки только ради «идеальной» иерархии, если от этого ломается доступность или стили.