Карта сайта

HTML-карта сайта выводит на отдельной странице удобный список материалов сайта для посетителей. В карту можно добавить записи, страницы, рубрики и другие публичные таксономии, а также дополнительные публичные типы записей.

Это именно страница навигации для людей, а не XML-карта для поисковых систем. Она помогает быстро найти нужный раздел, если на сайте много контента.

Как работает модуль

Модуль работает через шорткод. Вы добавляете его на нужную страницу, и тема выводит HTML-карту сайта с учетом настроек из кастомайзера или параметров самого шорткода.

Сейчас карта сайта ориентирована на простой и предсказуемый вывод: на странице сразу показываются списки записей, страниц, рубрик и других выбранных сущностей без дополнительных переходов между разделами.

Как добавить карту сайта

Чтобы вывести HTML-карту сайта, добавьте на страницу шорткод:

Также поддерживается старый вариант для совместимости:

Если вы работаете в редакторе Gutenberg, вставьте шорткод в блок Шорткод. После сохранения страницы карта сайта появится на фронтенде.

Где находятся настройки

Основные настройки модуля находятся по пути:

Внешний вид > Настроить > Модули > Карта сайта

Здесь можно включить или отключить записи, страницы и рубрики, скрыть отдельные материалы по ID и подключить дополнительные публичные типы записей.

Настройки из этого раздела работают как базовые. Если у шорткода на странице есть свои параметры, они могут переопределить поведение по умолчанию.

Что показывать в карте сайта

Переключатели Показывать записи, Показывать страницы и Показывать рубрики определяют, какие стандартные сущности WordPress попадут в карту сайта по умолчанию.

Показывать записи внутри рубрик

Опция Показывать записи внутри рубрик работает, только если в карте сайта включены рубрики.

Когда она активна, внутри каждой рубрики выводятся относящиеся к ней записи. Дополнительно тема создаёт отдельную секцию Posts without category для записей без рубрики.

Исключить термины по ID

Опция Исключить термины по ID скрывает термины из карты сайта. Сюда можно указывать ID не только рубрик, но и любых других таксономий, которые участвуют в выводе.

12,34,56

Исключить записи по ID

Опция Исключить записи по ID скрывает материалы по их ID. Она работает сразу для всех типов записей, которые попадают в карту сайта: обычных записей, страниц и дополнительных публичных post type.

12,34,56

Другие типы записей

В блоке Другие типы записей можно подключить дополнительные публичные типы записей, например товары, портфолио или события, если они зарегистрированы на сайте.

Для каждого такого типа доступны две настройки:

  • переключатель включения этого типа записей в карту сайта по умолчанию;
  • поле со списком слагов таксономий через запятую, которые нужно добавить в карту сайта вместе с этим типом записей.

Тема принимает только публичные таксономии, реально привязанные к выбранному типу записей. Служебная таксономия post_format не используется.

Параметры шорткода

Шорткод [html_sitemap] поддерживает параметры. Они помогают настроить карту сайта только для одной конкретной страницы, не меняя глобальные настройки.

Основные параметры:

  • post_types — список типов записей через запятую;
  • taxonomies — список таксономий через запятую;
  • show_post_types — показывать ли блок типов записей;
  • show_taxonomies — показывать ли блок таксономий;
  • show_category_posts — показывать ли записи внутри рубрик;
  • order — направление сортировки: ASC или DESC;
  • orderby — поле сортировки;
  • hide_empty_terms — скрывать ли пустые термины.

post_types

[html_sitemap post_types="post,page,product"]

taxonomies

[html_sitemap taxonomies="category,post_tag"]

show_post_types и show_taxonomies

[html_sitemap show_post_types="0"]
[html_sitemap show_taxonomies="0"]

show_category_posts

[html_sitemap taxonomies="category" show_category_posts="1"]

order и orderby

[html_sitemap post_types="post" orderby="date" order="DESC"]

hide_empty_terms

[html_sitemap hide_empty_terms="1"]
[html_sitemap hide_empty_terms="0"]

Готовые примеры

Ниже несколько готовых вариантов для частых задач.

Простая карта сайта без таксономий

[html_sitemap post_types="post,page" show_taxonomies="0"]

Только рубрики

[html_sitemap taxonomies="category" show_post_types="0"]

Рубрики вместе с записями

[html_sitemap taxonomies="category" show_post_types="0" show_category_posts="1"]

Только дополнительный тип записей

[html_sitemap post_types="product" show_taxonomies="0"]

Хуки

Если стандартных настроек недостаточно, HTML-карту сайта можно доработать через хуки. Подробнее о том, что такое хуки и как их использовать, читайте в отдельной статье для разработчиков. Ниже перечислены основные хуки модуля с простыми примерами.

wpbox/html_sitemap/excluded_post_ids

Позволяет программно исключить записи из карты сайта. Хук получает текущий массив ID и тип записи или массив типов записей.

add_filter( 'wpbox/html_sitemap/excluded_post_ids', function( $post_ids, $post_types ) {
    if ( in_array( 'post', (array) $post_types, true ) ) {
        $post_ids[] = 123;
    }

    return $post_ids;
}, 10, 2 );

wpbox/html_sitemap/excluded_term_ids

Позволяет исключить отдельные термины конкретной таксономии. Подходит, если нужно скрыть несколько конкретных рубрик или терминов.

add_filter( 'wpbox/html_sitemap/excluded_term_ids', function( $term_ids, $taxonomy ) {
    if ( 'category' === $taxonomy ) {
        $term_ids[] = 15;
    }

    return $term_ids;
}, 10, 2 );

wpbox/html_sitemap/excluded_taxonomies

Позволяет полностью убрать отдельные таксономии из карты сайта. Это удобно для служебных или технических таксономий, которые не нужно показывать посетителям.

add_filter( 'wpbox/html_sitemap/excluded_taxonomies', function( $taxonomies ) {
    $taxonomies[] = 'post_tag';

    return $taxonomies;
} );

CSS-переменные

Подробнее о работе с CSS-переменными и о том, где их можно переопределить, читайте в этой статье. Обычно достаточно настроек кастомайзера, но при необходимости вы всегда можете изменить нужные CSS-переменные вручную.

--wpbox-html-sitemap-gap: 1.5rem; /* Вертикальный отступ между секциями карты сайта */
--wpbox-html-sitemap-accent: var(--wpbox-color-accent, currentColor); /* Цвет ссылок при наведении и фокусе */

2026 © Поддержка WPShop.ru - Регламент технической поддержки