Чтобы вывести список рубрик (категорий) по их 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
).