如何在自定义页面中对自定义帖子类型进行分页

时间:2015-04-24 08:31:26

标签: php wordpress templates pagination custom-post-type

大家好我想尝试在自定义帖子类型的自定义模板页面中进行分页。当我点击Older entries时,它会将我重定向到localhost/videos/page/2/即可,但它显示的是index.php内容而不是videos.php。这是我的videos.php:

<?php
/*Template name: Videos*/
get_header(); ?>

<div class="wrapper">

    <div class="row home-row slider-box" id="sliders">

            <?php
               $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
                // The Query
                $the_query = new WP_Query( array(
                    'post_status'=>'publish',
                     'post_type' => 'videos',
                      'orderby' => 'date',
                       'order' => 'DESC',
                        'posts_per_page' => '1',
                         'paged'=>$paged ) );
                $count = 1;
                // The Loop
                while ( $the_query->have_posts() ) : $the_query->the_post();
                     get_template_part('content', 'videos');
                endwhile;


            next_posts_link( 'Older Entries', $the_query->max_num_pages );
    previous_posts_link( 'Newer Entries' );
?>

</div>

以下是我的函数的外观:

function videos(){
    $args = array(
        'public' => true,
        'label' => __('Videos'),
        'rewrite' => array('slug' => 'videos', 'with_front' => true),
        'supports' => array('title', 'editor', 'thumbnail'));
    register_post_type('videos', $args);
    register_taxonomy('videos', 'nagrody');
}
add_action('init', 'videos');

为什么这个分页不能正常工作?

1 个答案:

答案 0 :(得分:0)

Wordpress分页适用于主查询。因此,在此页面上,分页将适用于page,而不是您添加的WP_Query,因为主要查询是获取视频页面。

如果您在创建has_archive帖子类型时将videos设置为true,则可以在archive-videos.php下为其创建存档页面并使用该页面显示帖子,并且分页将起作用。

$args = array(
        'public' => true,
        'has_archive' => true,
        'label' => __('Videos'),
        'rewrite' => array('slug' => 'videos', 'with_front' => true),
        'supports' => array('title', 'editor', 'thumbnail'));

您可以在没有存档页面的情况下进行修复,请尝试阅读https://wordpress.stackexchange.com/questions/120407/how-to-fix-pagination-for-custom-loops