在 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 中,当用户单击每月存档链接时使用哪个文件?的主要内容,如果未能解决你的问题,请参考以下文章