@greyson
Чтобы правильно использовать фильтр term_link с sitemap.xml для категорий товаров в WooCommerce, вам понадобится добавить код в вашу функцию генерации sitemap.xml.
Вот пример кода, который можно использовать:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function custom_sitemap_filter_term_link($term_link, $term, $taxonomy) { // Проверяем, что используемый таксономия - категория товаров WooCommerce if ($taxonomy == 'product_cat') { // Получаем объект термина $term_obj = get_term($term, $taxonomy); // Проверяем, что термин активен и является категорией товаров Ву-commerce if ($term_obj && !is_wp_error($term_obj) && $term_obj->taxonomy == 'product_cat') { // Изменяем ссылку на категорию товара $term_link = get_permalink(wc_get_page_id('shop')) . 'product-category/' . $term_obj->slug . '/'; } } return $term_link; } add_filter('term_link', 'custom_sitemap_filter_term_link', 10, 3); |
В этом примере, мы используем хук term_link для изменения ссылок на категории товаров в sitemap.xml. Мы проверяем, что используемая таксономия - это категория товаров WooCommerce (product_cat) и что термин активен и является категорией товаров. Затем мы изменяем ссылку на категорию товара, добавляя к ней слаг категории и префикс, соответствующий странице магазина WooCommerce.
Поместите этот код в functions.php вашей активной темы или в свой собственный плагин и он должен правильно изменить ссылки на категории товаров в sitemap.xml.