我已经设置了一个名为存档库的模板。php,我的分页工作正常,但是查询忽略了posts_per_page
值并使用中的值Settings > Reading
调用Blog Pages Show At Most
. 我的gallery archive页面显示了我设置的每页8篇帖子,我有48篇帖子。这应该给我6页。Wordpress只给了我5页的分页next_posts_link
具有$gallery_page_query->max_num_pages
包含在下一个帖子链接中。当我转到第6页时,在分页中有一个链接,我得到一个404。
这是我的代码:
<?php
/*
Template Name: Gallery Archive
*/
get_header(); ?>
<div class="main" role="main">
<div class="standard-section">
<div class="gallery">
<h1 class="big-centered-h1">
Check out our latest work!
</h1>
<div class="gallery-images">
<?php
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$gallery_page_args = array(
\'post_type\' => \'gallery\',
\'posts_per_page\' => 8,
\'paged\' => $paged,
\'order\' => \'DESC\',
\'orderby\' => \'date\'
);
$gallery_page_query = new WP_Query($gallery_page_args);
if ($gallery_page_query->have_posts()) :
while ($gallery_page_query->have_posts()) : $gallery_page_query->the_post();
echo \'<a class="img-gallery-wrapper" href="\';
echo get_permalink($post->ID);
echo \'">\';
echo \'<img class="gallery-image" src="\';
$featured_image_url = wp_get_attachment_url(get_post_thumbnail_id($post->ID));
echo $featured_image_url;
echo \'">\';
echo \'</a>\';
endwhile;
wp_reset_postdata();
endif;
?>
<div class="clearfix"></div>
</div>
<div class="left-pagination">
<?php previous_posts_link(\'<< Go back\'); ?>
</div>
<div class="right-pagination">
<?php next_posts_link(\'See More >>\', $gallery_page_query->max_num_pages); ?>
</div>
<div class="clearfix"></div>
</div>
</div>
</div>
<?php get_footer(); ?>
相关页面位于
http://www.nickpassaro.com/clientsitedev/NJRI/gallery如果有人能帮助我,我将不胜感激。
最合适的回答,由SO网友:Pieter Goosen 整理而成
您的问题是您的命名约定。看看Template Hierarchy. 这个archive-
前缀是为日期和自定义帖子类型存档页保留的。您正在将其用作页面模板的前缀
这不仅让人类感到困惑,也让Wordpress感到困惑。对于页面模板,您应该使用page-
前缀请注意,从3.4版开始,您不需要page-
页面模板的前缀为:-)