02.06.2022

Вывести теги на отдельную страницу WordPress в несколько столбиков


Вывести теги на отдельную страницу WordPress в несколько столбиков в алфавитном порядке с количеством записей.

Второй способ статьи Вывести теги на отдельную страницу WordPress, первый способ можно посмотреть на странице Вывести теги на отдельную страницу WordPress — Лист меток

Как вывести теги WordPress на отдельную страницу?
Сначала, нужно создать файл с именем template-tags.php. Для этого скачайте на свой компьютер page.php вашей темы, который находится по пути site.ru/wp-content/themes/название-темы/ и отредактируйте его, следующим образом:

1. Переименуйте в template-tags.php.
2. Функцию

<?php  get_header(); ?>

замените следующими строками:

<?php  /* Template Name: template-tags.php */
get_header();
?>

Как видите, мы добавили в файл название шаблона. Название можно писать по английски или по русски – разницы нет.

3. Удалите цикл wordpress. Код цикла выглядит примерно так, но, может содержать и другие теги:

<?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?>
    <h1><?php the_title(); ?></h1>
    <?php the_content(); ?>
<?php endwhile; endif; ?>

Вместо него, вставьте этот код:

<?php
     $tags = get_tags('orderby=name&order=ASC');
     $capital = '';
     $i = 0;
       $cols_number = 2; // Количество колонок
       $cut = ceil( count($tags)/$cols_number );
       $cutter = $cut;
       $letter_i = 0;
       $output = '<div class="column">';
       foreach ( $tags as $tag ) {
       $i++;
       $firstletter = mb_substr($tag->name, 0, 1);
         if ( $firstletter !=  $capital ) {
            $letter_i++;
            if ( $letter_i != 1 ) $output .= '';
               if ( $i > $cutter ) {
                  $output .= '</div><div class="column">';
                  $cutter = $cutter + $cut;
         }
         $capital = $firstletter;
         $output .= '<div class="tag-title">' . $capital . '</div>';
       }
       $term = get_term_by('id', (int)$tag->term_id, 'post_tag');
       $output .= '<p><a href="' . get_term_link( (int)$tag->term_id,
'post_tag' ) . '">' . $tag->name . '</a> (' . $term->count . ')</p>';
    }
    echo $output . '</div>';
?>

Сохраните внесенные изменения и закачайте файл в папку с темой на хостинге.
Далее, нужно внести изменения в styles.css вашей темы, например, чтобы вывести теги в две колонки:

/*  Catalog    */
#catalog {
  margin-bottom: 20px;
}
#catalog p {
  margin: 0 0 5px 0;
}
.tag-title {
  font-size: 18px;
  margin: 10px 0 7px 0 !important;
  font-weight: normal;
}
.column {
  float: left;
  width: 48%;
}

Добавьте этот код в самый конец файла.

Если, хотите сделать четыре колонки, в коде вывода в переменной $cols_number = 2; цифру 2 замените на 4, а в параметре width селектора .column укажите 24%.

Чтобы увидеть результат проделанной работы, создайте новую страницу на своем блоге, а в качестве шаблона для нее, выберите созданный файл.

После публикации вы увидите облако тегов WordPress в алфавитном порядке в несколько колонок. Но перед этим обязательно надо почистить кэш браузера.

Вывести теги на отдельную страницу WordPress в несколько столбиков

Статья взята по адресу: prodengiblog.ru/wordpress-xaki/vyvod-tegov-wordpress-po-alfavitu.html

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

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