查询特定类别时,NEXT_POSTS_LINK不起作用

时间:2014-04-18 作者:Anna Lam

我想做的是显示“新闻”类别中的每一篇文章(在我的例子中,“新闻”类别的ID是13),每页5篇文章。页面上会显示分页链接,但当我单击“上一页”链接时,它只会显示类别中的前5篇文章。

页面新闻的内容。php:

<?php get_header(); ?>
<h1 class="title">Latest News</h1>
<?php
    /*$args = array(\'cat\' => 13);
    $posts = new WP_Query($args);*/
    global $paged;
    global $wp_query;

    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query();
    $wp_query->query(array(\'cat=13\', \'paged=\'.$paged));

    if ($wp_query->have_posts()) :
?>
    <ul id="news">
<?php
        while ($wp_query->have_posts()) : $wp_query->the_post();
?>
        <li>
            <article>
                <h2 class="post-title"><a href="<?php esc_url( the_permalink() ); ?>" title="Permalink to <?php the_title(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                <time datetime="<?php the_time( \'Y-m-d\' ); ?>" pubdate><?php the_date(); ?> <?php the_time(); ?></time>
                <?php the_content(); ?>
            </article>
        </li>
<?php
    endwhile;
?>
    </ul>
    <div class="news-nav">
        <?php next_posts_link( __( \'&larr; Older posts\')); ?>
        <?php previous_posts_link( __( \'Newer posts &rarr;\')); ?>
    </div>
<?php
    $wp_query = null;
    $wp_query = $temp;
    else :
?>
<h2>It looks like there\'s nothing happening at the moment.</h2>
<?php endif; ?>

<?php get_footer(); ?>

2 个回复
SO网友:Milo

您混合了查询字符串和数组参数。

它们应该是单个字符串,如:

$wp_query = new WP_Query( \'cat=13&paged=\' . $paged );
或键/值参数数组,如:

$wp_query = new WP_Query(
    array(
        \'cat\' => 13,
        \'paged\' => $paged
    )
);

SO网友:HamzStramGram

尝试使用以下方法获取分页变量集:

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
(我认为您以前不需要将其宣布为全球)

结束

相关推荐

Trouble with pagination

所以,我在这里和国际抄本上读了很多帖子,但一点运气都没有。我有一个自定义的帖子类型叫Work。在我的公文包页面上,我将“posts\\u per\\u page”设置为12。在这个自定义帖子类型中,我总共有300篇帖子。我试图让寻呼工作,但根本没有得到它。我的查询: <?php $paged = ( get_query_var(\'paged\') ) ? get_query_var(\'paged\') : 1; $al