为什么我的存档页面没有返回任何帖子


Why is my archive page not returning any posts?

我正在使用wordpress,我认为我可能在某个地方犯了一个大错误。起初我注意到,当浏览到我的archive.php页面时,我收到了一组帖子,但分页不起作用。例如,我浏览了一个我们的档案,作者有10篇文章,但我的网站限制是在一个页面上显示5篇文章。我看到了5个帖子和下一页的链接,但点击链接会进入404。

我修改了存档页面顶部的WP查询,所以我认为这是一个问题。。。

总之,长话短说,我把整个档案页面剥离到下面这个非常简单的例子中。使用它作为archive.php页面的代码总是返回"没有帖子"文本,即使我正在查看同一作者的归档页面。

救命!

<?php get_header(); ?>
<?php if ( have_posts() ) : ?>
        <h1>We have posts!</h1>
        <?php while ( have_posts() ) : the_post(); ?>
            <p>There is a post here</p>
        <?php endwhile; ?>
    <?php else : ?>
        <p>there is no post here</p>
    <?php endif; ?>
<div><?php posts_nav_link(' ','Previous Page','Next Page'); ?></div>
<div><?php posts_nav_link(' ','Go Back','Go Back'); ?></div>

我的header.php看起来像:

<!DOCTYPE html>
<html>
<head>
    <link rel="stylesheet" href="<?php echo get_template_directory_uri(); ?>/reset.css" />
    <link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>" />
    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<section id="content" role="main">

您可能在侧边栏或functions.php文件中更改了posts查询。尝试使用wp_reset_query()进行检查。(Codex:wp_reset_query)

<?php
get_header();
wp_reset_query();
if ( have_posts() ) : ?> ...

根据wordpress,您的代码中没有错误。这些肯定是头文件或其他地方的错误。