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

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

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

Создай свой первый сайт на WordPress

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

  1. tiaurus

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

    Ответить
    1. tiaurus

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

      <?php echo tag_description(); ?>

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

      Ответить
      1. Morhan

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

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

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

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

        Ответить
  2. Эсъюдс

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

    Ответить
    1. Sergey Biryukov

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

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

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

      <?php if ( is_tag() ) echo tag_description(); ?>
      
      Ответить
      1. Эсъюдс

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

        Ответить
        1. Sergey Biryukov

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

          Ответить
        2. Sergey Biryukov

          Как вариант:

          <?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 "<p>Количество записей с меткой «{$term->name}»: {$term_query->post_count}</p>";
          }
          ?>
          
          Ответить
          1. Эсъюдс

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

            Ответить