Как добавить определенный текст (описание тега) в архив по тегам

В связи с тем, что очень важным у меня в навигации на сайте являются метки (теги), нужен совет как реализовать следующее. В наст. момент при нажатии на метку выскакивают все статьи отмеченные этой меткой, нужно добавить в поле со статьями фиксированный (чтобы был в самом верху) блок с текстом, причем для каждой метки уникальный. Как это можно реализовать. Спасибо заранее!

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

  1. Насколько я понял, вы хотите добавить к каждому тегу свое описание (или любой другой текст). И хотите выводить это описание в архиве по тегу. Если посетитель выбирает посты с определенным тегом, то он видит не просто список постов, но и описание этого тега вверху страницы. Правильно я понимаю?

    • Откройте файл archive.php и найдите в нем блок, отвечающий за вывод списка постов по тегу. В это место нужно вставить функцию вывода описания тега:

      < ?php echo tag_description(); ?>

      Само описание тега можно ввести на странице тегов Post (Записи) → Post Tags (Метки) → Description (Описание)

      • Твой совет помог, вот что нужно было:
        Чтобы добавить описания тегов в соответствующие шаблоны, необходимо воспользоваться следующими конструкциями:
        дополнительно понадобилось
        Включить HTML в описаниях меток
        Первая проблема, с которой встречаются веб-мастера – это невозможность использования HTML в описаниях категорий и меток. Для этих целей был разработан специальный плагин – Allow HTML in Category Descriptions.

        Установка плагина стандартная: поместить файл в директорию /wp-content/plugins/, и активировать его в оснастке управления плагинами:

        Существует также плагин Rich Text Tags, позволяющий использовать визуальный редактор TinyMCE для редактирования описаний категорий и меток. Выглядит он следующим образом:

        Переключение в режим HTML осуществляется по клику на ссылке Toggle Rich Text Editor, размещённой слева от панели редактирования. Но всё же я не рекомендовал бы вам использовать этот плагин, поскольку он автоматически форматирует разметку, и обрамляет блоки тегами , что во многих случаях может нарушить верстку страницы. Исключения могут составить только те, кто не силён в HTML-разметке. Для них это будет оптимальным вариантом.

  2. “Откройте файл archive.php и найдите в нем блок, отвечающий за вывод списка постов по тегу”. По какому признаку искать этот самый блок? Не шарю в кодах WordPress.

    • В теме Grey Matter, которая используется на вашем сайте, блок вывода записей для всех видов архивов один и тот же:

      < ?php while (have_posts()) : the_post(); ?>
      ...
      < ?php endwhile; ?>
      

      Как вариант, перед этим фрагментом можно добавить строку:

      < ?php if ( is_tag() ) echo tag_description(); ?>
      
      • Спасибо, Сергей! Код работает. По крайней мере для тегов. Сергей, я в одной теме встречал подобные информационные блоки в архивах и там также автоматически указывалось число заметок по ключевому слову. Такое можно сделать кодом, без плагинов?

        • Скорее всего, да. В рамках рассматриваемого примера вы хотите вывести на странице тега количество записей с этим тегом? Или где-то в другом месте?

        • Как вариант:

          < ?php
          if ( is_tag() ) {
          $term = get_term_by('slug', get_query_var('tag'), 'post_tag');
          $term_query = new WP_Query( array(
          'tag__in' => array($term->term_id),
          'post_type' => 'post',
          'post_status' => 'publish',
          'posts_per_page' => -1,
          'caller_get_posts'=> 1
          ) );
          echo "

          Количество записей с меткой «{$term->name}»: {$term_query->post_count}

          "; } ?>
          • Сергей, спасибо! Это работает. Теперь думаю, как органично свести описание тега с этой информационной подписью о количестве заметок по тегу. Но это уже не кодерская часть :). Спасибо.

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

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


*