【问题标题】:posts per page on a static page + pagination静态页面上每页的帖子+分页
【发布时间】:2015-12-15 02:42:29
【问题描述】:

感谢您抽出宝贵时间查看此内容。

我花了几天时间研究这个。很多时间在 wp.org 上,但我就是不明白。我敢肯定,这应该是一个简单的修复。无论我尝试什么,我都无法限制每页的帖子数量,也无法显示任何分页。这是我最近的尝试(也许不是我最好的尝试)。该页面仅显示所有帖子或所有最近的帖子或其他内容(不是我的网站)。一旦我至少可以让页面限制帖子,那么我将解决分页问题。此外,在 WP 仪表板中设置每页的帖子没有任何作用……而且从来没有。这就是为什么我要自己编写代码。为什么我不能限制每页的帖子数量?我会把分页放在我目前拥有的地方吗?这是一团糟吗,哈哈?

再次感谢,

戴夫(代码如下)

<?php /* Template Name: Stories */ ?>

<?php 

get_header(); ?>

    <!-- *************************************** -->    
    <div class="custom_two_third">

<?php

// The Query

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('posts_per_page' => 3, 'paged' => $paged );



$the_query = new WP_Query($args);

// The Loop
if ( $the_query->have_posts() ) {

    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        get_template_part( 'template-parts/content', get_post_format() );
    }

// pagination
next_posts_link();
previous_posts_link();

} else {
    get_template_part( 'template-parts/content', 'none' );
}



/* Restore original Post Data */
wp_reset_postdata();
?>

    <div class="clear"></div>

    </div><!-- custom_two_third -->
<?php 

    get_sidebar(); 

    get_footer(); 

?>

【问题讨论】:

    标签: php wordpress pagination posts static-site


    【解决方案1】:

    尝试使用 post_type

    $args_articles =array(
                'post_type' => 'post',
                'post_status' => 'publish',
                'posts_per_page' => 5,
                'order' => 'desc',
                'paged' => $paged
        );
    

    【讨论】:

    • 感谢您的帖子。那么然后把“$args_articles”放在“$the_query = new WP_Query();”中?如果是,那就不走运了。
    • 请在下面找到我发布的答案
    【解决方案2】:
    // the query
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $news_eve_args = array( 'post_type' => 'news_events', 'posts_per_page' => 4, 'paged' => $paged);
    $wp_query = new WP_Query( $news_eve_args );
    if ( $wp_query->have_posts() ) : ?>
        <?php while ( $wp_query->have_posts() ) : $wp_query->the_post();?>
              <?php the_title(); echo "<br/>"; ?>
        <?php endwhile; ?>
        <nav>
          <?php previous_posts_link('&laquo; Newer',$wp_query->max_num_pages); ?>
          <?php next_posts_link('Older &raquo;',$wp_query->max_num_pages); ?>
        </nav>
        <?php wp_reset_postdata(); ?>                           
        <?php else : ?>
            <p><?php _e( 'Sorry, no news or events  at this time.', 'theme' ); ?></p>
    <?php endif; ?>
    

    【讨论】:

    • 感谢您的回复。当我使用不带“'post_type' => 'news_events'”的确切代码时,我会得到一个包含相同 11 个标题的列表。标题由
      分隔,就像代码状态一样。这可能是帖子标记、存储等方式的问题吗?。
    • 我想我刚刚回答了我自己的问题。这些帖子被标记为“粘性”。我是 WP 新手。我想这意味着他们会留下来。最有可能在第一页。是这个问题吗?
    【解决方案3】:

    试试这个,它会在你的情况下工作。

    global $query_string;
    query_posts("{$query_string}&posts_per_page=12");
    
    while (have_posts()) {
        the_post();
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多