大家好我想尝试在自定义帖子类型的自定义模板页面中进行分页。当我点击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');
为什么这个分页不能正常工作?
答案 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