Как отобразить категории для определенного поста?

Вопрос или проблема

например: у меня есть пост с названием “Компьютер и электроника”, и этот пост состоит из двух категорий: 1. LED дисплеи 2. Мобильные устройства. Теперь я хочу отобразить пост = “Компьютер и электроника” с его конкретными категориями.

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

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

Для этой цели вам нужно использовать функцию get_the_category($id), которая принимает id поста в качестве параметра и возвращает список объектов терминов, присвоенных переданному id поста. Вы можете обратиться к этому URL, чтобы узнать больше.

https://developer.wordpress.org/reference/functions/get_the_category/

Ответ или решение

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

Теория:

В WordPress каждая запись может быть отнесена к одним или нескольким категориям. Для получения категорий, связанных с конкретным постом, можно использовать функцию get_the_category(), которая возвращает массив объектов категорий для указанного ID поста. После получения этих данных, их можно использовать для отображения на веб-странице соответствующих названий категорий.

Пример:

Рассмотрим пост с названием "Компьютеры и электроника", который отнесен к двум категориям: "LED дисплеи" и "Мобильные устройства". Используя функцию get_the_category($id), где $id — это идентификатор поста, мы можем получить массив всех категорий, связанных с данным постом.

Применение:

  1. В первую очередь, убедитесь, что у вас есть ID поста, который вы хотите отобразить. Предположим, это ID = 101.
  2. Используя PHP в шаблоне вашей темы, напишите следующий код:

    <?php
    $post_id = 101; // Замените 101 на ID вашего поста
    $categories = get_the_category($post_id);
    
    if (!empty($categories)) {
       echo '<ul>';
       foreach ($categories as $category) {
           echo '<li>' . esc_html($category->name) . '</li>';
       }
       echo '</ul>';
    } else {
       echo 'Категории не найдены';
    }
    ?>

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

Таким образом, применив вышеописанный метод, вы сможете эффективно выводить категории, соответствующие определенному посту, прямо на страницах вашего веб-сайта. Это не только улучшит организацию контента, но и позволит пользователям легче ориентироваться по интересам.

Оцените материал
Добавить комментарий

Капча загружается...