Вывод названия категории (проверка на принадлежность)

Встала задача реализовать проверку поста на принадлежность к категории и выводить разные результаты. Нашел код:

<?php  
				if ( in_category( 'arhiv' )) {  
					ничего не выводить
				} else {  
					echo '
  • Категория: '.the_category(', ').'
  • '; } ?>

    Этот код выводится в шаблоне single.php. Там к записи есть список

      :

      • текст
      • текст
      • текст
      • текст

      Я хочу чтобы на месте третьего

    • происходила проверка на принадлежность и если запись в рубрике Архив, то не выводится название этой категории, а если в любой другой, то выводится:
      • текст
      • текст
      • <?php if ( in_category( 'arhiv' )) { ничего не выводить } else { echo '
      • Категория: '.the_category(', ').'
      • '; } ?>
      • текст

      Но при таком варианте в исходном коде у меня получается:

      
      

      Т.е. ссылка не на месте, а выше элементе li. В самом же элементе li между тегами span – пусто. Подскажите что не так по коду? Почему ссылка на рубрику выводится, но не там где надо?

    4 Комментарии

      • Спасибо, работает. Но не пойму the_category же тоже вроде как возвращает html код ссылки на категорию, почему не работало?

        • Функция the_category() не возвращает код, а сразу выводит на экран. Если попытаться «вклеить» её в середину строки, то сначала выведется the_category(), а затем остальная часть (как в вашем примере).

          Если строку разбить на части, то так должно работать:

          echo '
        • Категория: '; the_category(', '); echo '
        • ';

          get_the_category_list() отличается от the_category() тем, что именно возвращает результат в виде строки, а не выводит на экран.

    Оставить комментарий

    Ваш электронный адрес не будет опубликован.


    *