Чтобы вывести список рубрик (категорий) по их ID с помощью шорткода в WordPress, вы можете использовать функцию get_categories() или WP_Term_Query. Вот пример кода, который создает шорткод для вывода рубрик по ID:
1. Создайте шорткод для вывода рубрик
Добавьте следующий код в файл вашей темы (например, functions.php) или в плагин:
function custom_shortcode_categories_by_id( $atts ) {
// Извлекаем атрибуты, переданные в шорткод
$atts = shortcode_atts( array(
'ids' => '', // ID категорий через запятую
), $atts, 'categories_by_id' );
// Проверяем, указаны ли ID
if ( empty( $atts['ids'] ) ) {
return 'ID категорий не указаны.';
}
// Преобразуем строку с ID в массив
$ids = explode( ',', $atts['ids'] );
// Запрос для получения категорий по ID
$categories = get_categories( array(
'include' => $ids, // Используем массив ID
'hide_empty' => false, // Показывать даже пустые категории
) );
// Проверяем, есть ли категории
if ( empty( $categories ) ) {
return 'Категории не найдены.';
}
// Строка для вывода категорий
$output = '<ul>';
// Выводим категории
foreach ( $categories as $category ) {
$output .= '<li>' . esc_html( $category->name ) . ' - <a href="' . esc_url( get_category_link( $category->term_id ) ) . '">Смотреть</a></li>';
}
$output .= '</ul>';
return $output;
}
// Регистрируем шорткод
add_shortcode( 'categories_by_id', 'custom_shortcode_categories_by_id' );2. Использование шорткода
Теперь вы можете использовать шорткод в любом месте вашего контента. Например, чтобы вывести категории с ID 1, 2, и 3, вы можете использовать:
Пояснения к коду
shortcode_atts(): Устанавливает значения по умолчанию для атрибутов шорткода.explode(',', $atts['ids']): Преобразует строку с ID в массив.get_categories(): Получает категории по указанным ID.include: Позволяет указать массив ID категорий для вывода.hide_empty: Указывает, показывать ли пустые категории (в данном случае установлено вfalse).