Создание пользовательского Архив страниц для WordPress

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

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

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

Story Of WordPress Archives

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приступая к работе с основным File

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

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

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

(Убедитесь, что не называть вашу страницу что-то вроде page-archives.php. Все имена файлов, начинающиеся с page- будут рассматриваться как новые шаблоны страниц в пределах основного файла иерархия WordPress themes 5 . Вот почему мы используем префикс 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';

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

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

Comments are closed.