Какой файл используется в WordPress, когда пользователь нажимает на ссылку ежемесячного архива?

В настоящее время у меня есть список архивов, основанный на ежемесячной основе. Это генерируется с помощью:

<?php wp_get_archives('type=monthly&limit=12'); ?>

Это генерирует список месяцев, январь 2012 г., февраль 2012 г. и так далее.

Вопрос. На какую страницу шаблона перенаправляется посетитель, нажимая на месяц?

Как я могу настроить свой существующий цикл, чтобы просто показывать сообщения за этот месяц. Мой текущий цикл:

<?php get_header(); ?>

<div id="main" role="main">

<?php
if (is_home()) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("cat=-6&paged=$paged");
}
?>

<div class="inner">

<h1><?php trim(wp_title("")); ?></h1>

<?php include ('sidebartwo.php'); ?>

<section class="main-wrap twocol news">

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<article class="box-style">

<time><?php the_time('M d') ?><span><?php the_time('Y') ?></span></time>

<h2><a href="<?php the_permalink()?>" title="<?php the_title(); ?>"><?php the_title(); ?></a>  </h2>

<?php the_content(''); ?>

</article>

<?php endwhile; ?>                              

<div class="next-prev-wrap">

<span class="next"><?php next_posts_link( 'Older posts', $post->max_num_pages ); ?></span>
<span class="prev"><?php previous_posts_link( 'Newer posts', $post->max_num_pages ); ?></span>

</div>

</section>      

<?php endif; ?>

</div> <!-- /inner -->

</div> <!-- /main -->

<?php get_footer(); ?>

person egr103    schedule 01.02.2012    source источник


Ответы (5)


Хорошо, похоже, код проблемы в моем цикле был там, где я исключил категорию 6, здесь:

<?php
if (is_home()) {
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts("cat=-6&paged=$paged");
}
?>

Мне нужно было исключить эту категорию, поэтому я погуглил, как это сделать, и нашел «Суперцикл» от Perishable Press, здесь: http://perishablepress.com/press/2007/08/06/super-loop-исключитьконкретныекатегориииотобразитьлюбоеколичествосообщений/

Скопируйте этот цикл и замените мой существующий, и теперь все работает.

person egr103    schedule 01.02.2012

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

person Amna Ahmed    schedule 01.02.2012
comment
Я использую ‹?php wp_get_archives('type=monthly&limit=12'); ?› для создания списка архивов (например, январь, февраль и т. д.). Другой фрагмент кода, который я опубликовал, теперь находится в моем файле archive.php, но этот цикл показывает все сообщения, а не конкретный месяц, когда пользователь нажимает на ссылку любого месяца, сгенерированную wp_get_archives. - person egr103; 01.02.2012

Ежемесячные архивы управляются файлом шаблона archive.php. Если этого не существует, он возвращается к шаблону index.php.

Ссылка: http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

person Chris Fletcher    schedule 01.02.2012
comment
Спасибо! Хорошо, поэтому я поместил весь этот код выше в archive.php, но он не показывает сообщения за месяц, он показывает все сообщения независимо от того, когда они были опубликованы. Как я могу изменить цикл, чтобы просто показывать сообщения за правильные месяцы? т.е. пользователь нажимает на февраль 2012 года и видит только сообщения, сделанные в течение февраля 2012 года. Будем признательны за любую помощь :) - person egr103; 01.02.2012

Если он существует, обычно archive.php. См. иерархию шаблонов.

person Stephen Harris    schedule 01.02.2012
comment
Спасибо за это, но у меня проблемы с отображением сообщений за правильный месяц. На данный момент этот цикл показывает все сообщения. Можете ли вы пролить свет на то, как я могу изменить цикл так, чтобы когда пользователь нажимал, например, на февраль 2012 года, он получал только все сообщения, показанные в течение февраля 2012 года? - person egr103; 01.02.2012
comment
WordPress сделает это автоматически... вам не нужно изменять запрос, как это звучит, как вы. Взгляните на файл archive.php темы TwentyEleven. Все, что вам действительно нужно сделать, это просмотреть сообщения и отобразить их. - person Stephen Harris; 01.02.2012
comment
Я поигрался с этим файлом archive.php в двадцать одиннадцати, я даже скопировал код, но даже это не работает. Я все еще получаю все сообщения. Я был бы очень признателен, если бы вы могли протянуть руку помощи? Верен ли мой запрос выше? - person egr103; 02.02.2012

archive.php — это файл шаблона, к которому перейдет пользователь, когда щелкнет месяц в списке архивов.

person Amna Ahmed    schedule 02.02.2012