Построение собственного Архив страниц для WordPress

Если бы я спросить вас, что наименее используемым по умолчанию тип страницы в WordPress является, скорее всего, вы бы сказали шаблон архива.Или, что более вероятно, вы, вероятно, даже не думать о шаблоне архива на всех — Вот как это непопулярно.Причина проста.Как велика, как WordPress есть стандартный способ, в котором она приближается архив далеко от пользователя-дружественной .

Давайте исправим сегодня!Давайте строить страницу архива для WordPress, что на самом деле полезно.Самое приятное, что вы сможете использовать его с любой современной темы WordPress, установленных на вашем веб-сайте на момент .

Но сначала, что мы имеем в виду под “странице архива” точно

История Из WordPress Archives

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

  • Ошибка 404,
  • Архив страницы (наш герой сегодня),
  • Страница вложения изображения,
  • Индекс страницы (главная страница),
  • Шаблон страницы по умолчанию (для страниц),
  • Страница результатов поиска,
  • Разместить один и крепления страницы .

Несмотря на различного назначения, все эти страницы действительно похожи по структуре, и они, как правило, отличаются только в нескольких местах и ​​несколько строк кода.На самом деле, только видимая разница между индексной страницы и страницы архива дополнительный заголовок в верхней части, которая изменяется в зависимости от конкретной страницы просматриваемого .

1
Стандартный страница Архив в двадцать пятнадцать.( Просмотр большой version __38 | | 2__30 )

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

Хотя это звучит как хорошая идея с точки зрения программиста, это не имеет смысла с точки зрения пользователя.Или, точнее, один слой отсутствует здесь — слой, который встанет между намерения пользователя, чтобы найти содержание и отдельные элементы в сами архиве .

Вот что я имею в виду.Прямо сейчас, только встроенный способ, чтобы продемонстрировать архивные ссылки на веб-сайте WordPress является с виджетом.Так что, если вы хотите, чтобы посетители могли копаться в архиве в любом ясный путь, вы бывероятно, придется посвятить всю боковую панель просто архива (только, чтобы быть в состоянии захватить различные типы организации, такие как архиве даты, на основе архива категории, архив тегом, автор архиве и так далее) .

Итак, что нам действительно нужно здесь middleman, страница, приветствует посетителя, объясняет, что они уже в архиве, а затем указывает их в точном части содержания они заинтересованы или предполагает некоторую популярный контент.

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

Как построить собственное Архивы страницу в WordPress

Вот что мы собираемся делать в двух словах.Наша специальная страница Архив будет основываться на специальная страница template __12 | | 3__11 .Этот шаблон позволит нам сделать следующее:

  • Включить пользовательский приветственное сообщение (может содержать текст, изображения, выбора в форме, и т.д. — стандарт WordPress вещи);
  • Перечислите все сообщения 15 (настраивается);
  • Показать ссылки на архив автора;
  • Показать ссылки на месячном архиве;
  • Добавить дополнительные области виджета (для отображения вещи, как наиболее популярный контент, категории, теги) .

Наконец, страница будет реагировать и не будет зависеть от текущей темы сайта она используется на .

Это, как говорится, мы должны начать с помощью | some__33 тему в качестве основы нашей работы здесь.Я буду использовать Zerif Lite __36 | | 4__11 .Признаюсь, я, может быть немного смещена здесь, потому что это один из наших тем (в ThemeIsle).Тем не менее, это был один из 10 самых популярных тем, опубликованным в прошлом году в каталоге темы WordPress “, поэтому я надеюсь, вы позволите этому один слайд .

И, эй, если вам не нравится тема, ни обид.Вы можете использовать подход, представленный здесь, с любой другой теме .

Начало работы с основными File

Лучшая модель, на которой строится свою страницу архива page.php файл вашей текущей теме, на пару причин:

  • Его структура уже оптимизированы для отображения пользовательского контента в основному содержимому блока .
  • Это, наверное, один из самых простых шаблонов страниц в структуре вашей темы .

Таким образом, начиная с page.php файл темы Zerif Lite, я собираюсь сделать копию и назовите его tmpl_archives.php .

(Убедитесь, что не называть вашу страницу что-то вроде page-archives.php. Все имена файлов, начиная с page- будут рассматриваться как новые шаблоны страниц в пределах основного файла иерархия WordPress themes __58 | | 5__11 . Вот почему мы используем префикс tmpl_здесь)

Далее, все, что я собираюсь сделать, это изменить одну строку в этом файле:

<?php get_template_part( 'content', 'page' ); ?>

Мы изменим что это:

<?php get_template_part( 'content', 'tmpl_archives' ); ?>

Все это делает принести нужный файл контента для нашего архива странице .

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

Кроме того, не стоит забывать о стандартной декларации пользовательского шаблона комментарий, который необходимо разместить в самом начале нового файла (в данном случае, tmpl_archives.php):

<?php
/* Template Name: Archive Page Custom */
?>

После этого, то, что мы остались с является следующая структура файлов (с некоторыми элементами удалены для удобства чтения):

<?php
/* Template Name: Archive Page Custom */
get_header(); ?>

<div class="clear"></div>
</header> <!-- / END HOME SECTION -->

<div id="content" class="site-content">

<div class="container">

  <div class="content-left-wrap col-md-9">
    <div id="primary" class="content-area">
      <main id="main" class="site-main" role="main">

        <?php while ( have_posts() ) : the_post(); // standard WordPress loop. ?>

          <?php get_template_part( 'content', 'tmpl_archives' ); // loading our custom file. ?>

        <?php endwhile; // end of the loop. ?>

      </main><!-- #main -->
    </div><!-- #primary -->
  </div>
  <div class="sidebar-wrap col-md-3 content-left-wrap">
    <?php get_sidebar(); ?>
  </div>

</div><!-- .container -->

<?php get_footer(); ?>

Далее давайте создадим другой кусок головоломки — файл пользовательского контента.Мы начнем с content-page.php файл, сделав копию и переименовать его в content-tmpl_archives.php .

В этом файле, мы собираемся, чтобы удалить все, что не важно, сохраняя только структурные элементы, а также призывает основная функция WordPress:

<?php
/**
* The template used to display archive content
*/
?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

  <header class="entry-header">
    <h1 class="entry-title"><?php the_title(); ?></h1>
  </header><!-- .entry-header -->

  <div class="entry-content">
    <?php the_content(); ?>

    <!-- THIS IS WHERE THE FUN PART GOES -->

  </div><!-- .entry-content -->

</article><!-- #post-## -->

Заполнитель комментарий виден в середине, где мы собираемся начать том числе наши собственные элементы .

Добавление пользовательского Добро пожаловать Message

Этот на самом деле уже заботятся WordPress.Следующая строка делает магию:

<?php the_content(); ?>

Добавление нового виджета Areas

Давайте начнем эту часть, установив новые области виджета в WordPress, используя стандартный процесс.Тем не менее, давайте сделаем это через дополнительный файл функции, просто чтобы держать вещи многоразовые из темы к теме .

Таким образом, мы начнем с создания нового файла, archives-page-functions.php, помещая его в основной каталог теме, и регистрации двух новых областей виджетов в нем:

if(!function_exists('archives_page_widgets_init')) :
function archives_page_widgets_init() {
  /* First archive page widget, displayed to the LEFT. */
  register_sidebar(array(
    'name' => __('Archives page widget LEFT', 'zerif-lite'),
    'description' => __('This widget will be shown on the left side of your archive page.', 'zerif-lite'),
    'id' => 'archives-left',
    'before_widget' => '<div class="archives-widget-left">',
    'after_widget' => '</div>',
    'before_title' => '<h1 class="widget-title">',
    'after_title' => '</h1>',
  ));

  /* Second archive page widget, displayed to the RIGHT. */
  register_sidebar(array(
    'name' => __('Archives page widget RIGHT', 'zerif-lite'),
    'description' => __('This widget will be shown on the right side of your archive page.', 'zerif-lite'),
    'id' => 'archives-right',
    'before_widget' => '<div class="archives-widget-right">',
    'after_widget' => '</div>',
    'before_title' => '<h1 class="widget-title">',
    'after_title' => '</h1>',
  ));
}
endif;
add_action('widgets_init', 'archives_page_widgets_init');

Далее нам нужно некоторые пользовательские стили для страницы архива, так что давайте также “поставить в очередь” новый CSS файл:

if(!function_exists('archives_page_styles')) :
function archives_page_styles() {
  if(is_page_template('tmpl_archives.php')) {
    wp_enqueue_style('archives-page-style', get_template_directory_uri() . '/archives-page-style.css'); // standard way of adding style sheets in WP.
  }
}
endif;
add_action('wp_enqueue_scripts', 'archives_page_styles');

Это условного оператора поставить в очередь.Это будет работать только, если посетитель просматриваете архив страницу .

Кроме того, давайте не забывать, для того, чтобы этот новый archives-page-functions.php файл, добавив следующую строку в самом конце ~ 34 текущей темы | файла:

require get_template_directory() . '/archives-page-functions.php';

Наконец, новый блок, который мы будем использовать в нашей основной content-tmpl_archives.php файла достаточно прост.Про …

Если вы хотите прочитать полностью статью, посетите сайт наших спонсоров

Comments are closed.