Как отобразить в WordPress один или несколько тегов для записи (статьи, поста) или категории (раздела), которые принадлежат этой записи.
Стандартный вывод меток (тегов)
Для вывода всех тегов (меток) у сайта на WordPress есть стандартные конструкции и его разновидности.
Вывод через запятую всех меток, которые прикреплены к записи. Перед тегами будет заголовок «Метки»:
Меняем текст и разделитель:
Вывод тегов списком:
Нестандартный вывод меток (тегов)
Что если нужно вывести не все метки, а только некоторые из них?
Для этих целей подойдёт следующий код:
// Массив тегов для проверки
$find_tags = array(
'slug_name1' => 'Название_тега1',
'slug_name2' => 'Название_тега2',
);
// Массив для хранения совпадающих тегов
$found_tag = array();
// Разделитель между каждым тегом
$seperator = ' - ';
// Если у нас есть хоть один тег
if( has_tag( $find_tags ) ) :
// Перебираем массив тегов
foreach( $find_tags as $slug => $name ) :
// Если тег соответсвует перебору, добавляем к массиву данных
if( has_tag( $slug ) )
$found_tag[] = "<span><a href='/tag/$slug/'>$name</a></span>";
continue;
endforeach;
// Соединяем результаты вместе используя разделитель там где это требуется
echo '<div class="">';
echo '<div class=""><strong>Конкретные метки к записи:</strong></div>';
echo '<div class="">' . implode( $seperator, $found_tag ) . '</div></div>';
endif;
endif;
?>
В этом участке кода:
«Название тега» должно соответствовать заданному в WordPress. Если вписать другое название, данная метка не будет показана.
Отдельные PHP коды для вывода меток
Конструкция которая может понадобиться, если следует что-то вывести, когда у записи (поста) имеются теги и когда их нет:
// если тегов нет, то ничего не выводит
if (! $tag) { ?>
<?php
// иначе
} else { ?>
<?php } ?>
Спасибо.
А как сделать чтобы выводились все метки поста, кроме одно заданной.
Сам не выводил, советовать непроверенное не буду, но в погуглив найдете много примеров. Ищите по английским ключевым словам: the_tags exept one
Спасибо (15 символов)