在 WordPress 中,当用户单击每月存档链接时使用哪个文件?

Posted

技术标签:

【中文标题】在 WordPress 中,当用户单击每月存档链接时使用哪个文件?【英文标题】:In WordPress, which file is used when a user clicks on a Monthly archive link? 【发布时间】:2012-02-01 13:25:48 【问题描述】:

我目前有一份按月计算的档案清单。这是使用以下方法生成的:

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

这会生成月份列表,例如 2012 年 1 月、2012 年 2 月等。

问题:访问者点击一个月后会被引导到哪个模板页面?

如何调整现有循环以仅显示该月的帖子。我当前的循环是:

<?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(); ?>

【问题讨论】:

【参考方案1】:

好吧,我的循环中的问题代码似乎是我排除了第 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-exclude-specific-categories-and-display-any-number-of-posts/

复制粘贴该循环并替换我现有的循环,现在一切正常。

【讨论】:

【参考方案2】:

您粘贴的代码显示了显示帖子标题、元数据和内容的帖子循环。在您询问每月存档列表的问题中,请在您列出存档的位置发布那部分代码。

【讨论】:

我正在使用 生成存档列表(即一月、二月等)。我发布的其他代码 sn-p 现在位于我的 archive.php 文件中,但是当用户单击 wp_get_archives 生成的任何月份链接时,该循环显示的不是特定月份的所有帖子【参考方案3】:

每月存档由archive.php 模板文件控制。如果不存在,则返回 index.php 模板。

参考:http://codex.wordpress.org/images/1/18/Template_Hierarchy.png

【讨论】:

谢谢!好的,所以我已将上面的所有代码放入archive.php,但它不显示当月的帖子,无论何时发布,它都会显示所有帖子。如何更改循环以仅显示正确月份的帖子? IE。用户点击 2012 年 2 月,他们只看到 2012 年 2 月内发布的帖子。任何帮助将不胜感激:)【参考方案4】:

如果存在,通常是archive.php。请参阅Template hierarchy。

【讨论】:

为此欢呼,但我在显示正确月份的帖子时遇到问题。目前该循环显示所有帖子。您能否阐明我如何更改循环,以便当用户点击时,例如,2012 年 2 月,他们只会获得 2012 年 2 月期间显示的所有帖子? WordPress 会自动执行此操作...您无需更改查询,听起来您就是这样。查看 TwentyEleven 主题的 archive.php。您真正需要做的就是循环浏览帖子并显示它们。 我在 2011 玩过那个 archive.php 文件,我什至复制粘贴了代码,但即使这样也行不通。我仍然收到所有帖子。如果您能伸出援手,我将不胜感激?我上面的查询是否正确?【参考方案5】:

archive.php 是用户在归档列表中单击一个月时将转到的模板文件。

【讨论】:

以上是关于在 WordPress 中,当用户单击每月存档链接时使用哪个文件?的主要内容,如果未能解决你的问题,请参考以下文章

WordPress 按年每月存档

XML提要-Wordpress文章的每月存档

自定义帖子类型每年/每月存档

通过自定义日期字段的 Wordpress 自定义存档页面链接

在 Wordpress 中确认离开外部链接

Wordpress 从自定义帖子中删除永久链接但保留存档