多年来,我使用一个自定义分页脚本,我包括我所有的网站,它分页完美地通过职位。有史以来第一次我创建自定义职位类型。我同样的脚本不会分页通过网页...也所有网页链接送我回家。它显示完全正确的页数根据职位每页。它只是不会工作。我用了所有的脚本,我可以找到在网上。
有什么我错过了吗?
Has archive是真的。下面的代码示例来自archive-drivers.php
我还使用了自定义CPT创建和函数中的脚本,也使用了插件。只是为了检查是否有问题。
<?php
$args = array(
'posts_per_page' => 1,
'paged' => $paged,
'orderby' => 'post_date',
'order' => 'DESC',
'post_type' => 'Drivers',
'post_status' => 'publish',
'suppress_filters' => true
);
// get the results
$wp_query = new WP_Query( $args );
?>
<?php if ($wp_query->have_posts()): // the Loop ?>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
(...my code to display the custom post type posts...)
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<!-- end of Code for the Loop -->
<?php endif; ?>
<!-- Code for PAGINATION -->
<?php
if (function_exists("custom_pagination"))
{
custom_pagination();
}
?>
<!-- End of Code for PAGINATION -->
<?php wp_reset_postdata(); ?>
<!-- end of Code for the Loop -->
以及
// Bootstrap Custom Pagination function in Functions.php
function custom_pagination($pages = '', $range = 4)
{
$showitems = ($range * 2) + 1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo '<div class="as-pagination" style="text-align:center; align:center;">';
echo '<div> Page ' .$paged . ' of ' .$pages.'</div>';
echo '<ul>';
// If we want to always see th First Page link
if($paged > 1) echo '<li><a href="' .get_pagenum_link(1). '" title="First Page" ><i class="far fa-arrow-left"></i></a></li>';
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<li class=\"active\"><span>".$i."</span>
</li>":"<li><a href='".get_pagenum_link($i)."'>".$i."</a></li>";
}
}
//if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo '<li><a href="' .get_pagenum_link($pages). '" title="??">»</a></li>';
if($paged < $pages) echo '<li><a href="' .get_pagenum_link($pages). '" title="Last Page"><i class="far fa-arrow-right"></i></a></li>';
echo "</ul>";
echo "</div>";
}
}
1条答案
按热度按时间ql3eal8s1#
答案来自一个FB朋友,和pre_get_posts有关,只有这样你才能告诉wp你想在你的自定义帖子类型中每页有多少帖子,args中的“posts_per_page”不起作用。