确定在找到的帖子总数中显示哪个帖子

时间:2013-03-21 作者:Ofeargall

在我的页面上,我有一个查询,该查询检索带有特定参数的帖子,并且我在分页的情况下每页显示一篇帖子。我已经知道了如何获取查询找到的帖子总数。我想添加一些导航,基本上说“你正在查看25篇文章中的‘n’”,并且随着用户点击“下一篇文章/上一篇文章”链接,“n”会增加或减少。

是否已经为此设置了功能?

以下是我的查询以及如何将其输出到页面:

<?php
        $display_count = 1;
        $page = get_query_var(\'paged\') ? get_query_var(\'paged\') : 1;
        $offset = ($page -1)*$display_count;
        $query_args = array(
            \'post_type\' => \'post\',
            \'orderBy\' => \'date\',
            \'order\' => \'desc\',
            \'number\' => $display_count,
            \'posts_per_page\' => 1,
            \'page\' => $page,
            \'offset\' => $offset
            );
        ?>
<article id="portfolio_item">
      <?php $portfolio = new WP_Query($query_args); ?>
      <!-- Total number of posts -->
      <p> <?php echo "There are ".$portfolio->found_posts." Planning Projects"; ?></p>
      <!-- Pagination Links -->
            <p> 
                <?php previous_posts_link( \'<< Previous Posts | \', $portfolio->max_num_pages ); ?>
                <?php next_posts_link( \'Next Posts >>\', $portfolio->max_num_pages ); ?>
      </p>
        <?php if( $portfolio->have_posts() ) : while( $portfolio->have_posts()) : $portfolio->the_post(); ?>
      <h2><?php the_title() ?><span id="project_location"> <?php echo get_post_meta($post->ID, \'project_location\', true) ?></span> <span id="project_class">{ <?php echo get_post_meta($post->ID, \'project_services\', true) ?> }</span></h2>
        <?php the_content() ?>
        <?php endwhile; endif; ?>
        <?php wp_reset_query(); ?>
      </article>
    </section>

1 个回复
最合适的回答,由SO网友:fuxia 整理而成

您手头已经有了所有必要的变量:$page 是当前页码,并且$portfolio->found_posts 职位总数。

两者都应该是整数,但为了确保代码的可翻译性,我会使用如下代码:

$current = sprintf(
    _x( 
        \'Page %1$d of %2$d.\',  // default string
        \'1 = current page, 2 = total pages\', // context information for translators
        \'your_text_domain\'
    )
);

echo \'<p>\' . esc_html( $current ) . \'</p>\';
因此,即使翻译器注入一些HTML,也不会发生任何危险。

结束

相关推荐

Pagination stops at page 6

下面的循环工作得很好,除了分页总是在第6页停止之外。无论我指定什么参数,它都不会显示超过6页的内容。有人知道为什么吗?<?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; $idxargs = array( \'posts_per_page\' => \'1\', \'paged\' =>