Функции для работы с метками

См. также Как узнать id в WordPress

В этой статье: функции get_the_tags, the_tags
Еще функции в Кодексе (на английском): tag_description(), single_tag_title(), wp_tag_cloud(), wp_generate_tag_cloud(), get_tags(), get_the_tag_list(), get_tag_link()

get_the_tags

Возвращает массив объектов меток текущей записи (по умолчанию) или записи с заданным id внутри цикла WordPress.

<?php get_the_tags($id); ?>

Необязательный параметр:
$id - id записи, по умолчанию используется id текущей записи

Свойства возвращаемого объекта метки

term_id - id метки; name - имя; slug - ярлык метки (часть url); term_group - группа; taxonomy - всегда 'post_tag'; description - описание; count - сколько записей с такой меткой

Примеры использования

1 Рисунки для меток

Вывод рисунков меток, имена файлов которых совпадают с term_id метки. В качестве атрибута alt используется имя метки.

<?php
$posttags = get_the_tags();
if ($posttags) {
  foreach($posttags as $tag) {
    echo '<img src="http://example.com/images/' . $tag->term_id . '.jpg"
alt="' . $tag->name . '" />';
  }
}
?>
2 Вывод содержимого для конкретных меток
<?php
$posttags = get_the_tags();
if ($posttags) {
  foreach($posttags as $tag) {
    if ($tag->name == "метка1" ) {
?>
       HTML-код
<?php  } else if ($tag->name == "метка2" ) { ?>
                HTML-код
<?php 	} else {
                     ...?>
                      HTML-код
<?               }
  } // foreach
} // if
?>
3 Раскрывающийся список меток
function drop_tags()
{
    echo "<select onChange="document.location.href=this.options[this.selectedIndex].value;">";
    echo "<option>Tags</option>n";
    foreach (get_the_tags() as $tag)
    {
        echo "<option value="";
        echo get_tag_link($tag->term_id);
        echo "">".$tag->name."</option>n";
    }
    echo "</select>";
}
4 Аналог the_tags
<?php
$posttags = get_the_tags();
if ($posttags) {
  foreach($posttags as $tag) {
    $tag_links[] = ‘<a href="’ . get_tag_link($tag->term_id) . ‘">’ . $tag->name . ‘</a>’;
  }
   echo join( ', ', $tag_links );
}
?>

the_tags

Выводит ссылки на метки (tags) текущей записи внутри цикла WordPress. Если меток нет, выводится ссылка на рубрику записи.

<?php the_tags( $before, $separator, $after ); ?>

Необязательные параметры:
$before - текст перед метками, по умолчанию Tags: (Метки)
$separator - текст или символ между ссылками на метки, по умолчанию запятая
$after - текст после последней метки, по умолчанию $after=''
Например, можно вывести метки списком:

<?php the_tags('<ul><li>','</li><li>','</li></ul>'); ?>

Также см. Как исключить метки при выводе ссылок на метки записи

4 комментария: Функции для работы с метками

  1. Виталий говорит:

    В "аналоге the_tags" не хватает в начале "обнуления" переменной $tag_links, иначе выводятся лишние метки (по-крайней мере, мне исправить ошибку помогло именно это), исправьте, пожалуйста.

  2. coin говорит:

    спасибо, большое.

  3. Костя говорит:

    А как сделать вывод меток из WooCommerce?

  4. Андрей говорит:

    Такое чувство, что метки придумали лишь бы усложнить новичкам жизнь, раньше их и вовсе не использовал.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *