如何添加博客下一个prev导航?

时间:2016-01-15 14:59:13

标签: php wordpress

我在日记帖子中使用自定义帖子类型,但我想为上一页和下一页添加导航。所以,如果我的日记页面上有超过5个帖子,我会在下一个链接或2,3,4等页面上发帖...如果没有更多的帖子,它应该显示在上一个。现在,我的日志页面在index.php上。

在我的wordpress阅读设置中,我使用静态页面进行首页显示。我的头版是front-page.php,我的帖子页面是期刊页面。博客页面最多显示5个帖子。联合供稿显示最近的5个帖子。

如何使用我的自定义帖子类型添加下一个和上一个导航"日记"?

<?php 

    get_header();

    ?> 

    <!-- journal -->
    <section class="container-wrap">

        <?php

            $args  = array('post_type' => 'journals');
            $query = new WP_Query($args);

            while($query -> have_posts()) : $query -> the_post();

        ?>

        <article class="post-wrap">

            <header>
                <a href="<?php the_permalink(); ?>" class="post-title">
                    <h1 class="post-title"><?php the_title(); ?></h1>
                </a>
                <span class="post-date"><?php echo(types_render_field('date', array('format' => 'm.d.Y') )); ?></span>
            </header>
        </article>
        <?php endwhile; ?>

        <?php wp_reset_query(); ?>

    </section>
    <!-- /journal -->

    <?php 

    get_footer();

    ?>

2 个答案:

答案 0 :(得分:1)

paginate_links挂钩与自定义WP_Query数组结合使用。确保为查询指定paged数组参数。这会设置查询以返回分页结果。

  <?php
    // 1- Setup paging parameter
    $paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;

    // 2- Setup WP_query variable to get last 12 posts
    $args = array(
      'posts_per_page' => 12,
      'post_type' => 'journals',
      'orderby' => 'most_recent',
      'paged' => $paged,
    );
    $the_query = new WP_Query( $args );

    // 3- Setup new loop
    if($the_query->have_posts()) : 
      while($the_query->have_posts()) : 
        $the_query->the_post();

    // 4- Output parameters you want here
        echo '<div class="col-md-4">';
        echo '<h4><a href="' . the_permalink() . 'title="Read more">' . the_title() . '</a></h4>';
        echo '<a href="' . the_permalink() . '">' . the_post_thumbnail() . '</a>';
        echo the_excerpt();
        echo '</div>';

    // 5- close up loop
      endwhile;
    endif;

    // 6- Output paginate_links just below post loop
    echo paginate_links( array(
      'base' => str_replace( 999999, '%#%', esc_url( get_pagenum_link( 999999 ) ) ),
      'format' => '?paged=%#%',
      'current' => max( 1, get_query_var('paged') ),
      'total' => $the_query->max_num_pages
    ) );

    // 7- reset post data query
    wp_reset_postdata(); 
  ?>

答案 1 :(得分:0)

尝试使用我的代码在我的网站http://www.thehiddenwhy.com/blog/上工作请将此链接How to create pagination in page code in wordpress?