1
我遇到了一個問題,我似乎無法獲得分頁工作在最新的wordpress版本3.4.2。我開發了很多wordpress網站,所以這很容易混淆。我有一個自定義帖子類型的新聞,我希望每頁顯示8個帖子,頁面網址將是'/ news'。此頁面正確顯示,並在底部顯示正確的分頁(使用WP-pagenavi)。當我點擊第二頁(/ news/page/2)時,我會看到我的404頁面。我真的很感謝任何幫助解決這個問題。WordPress的(3.4.2)分頁問題 - 自定義帖子類型
<?php
/*
Template Name: News
*/
?>
<?php get_header(); ?>
<div class="container_12">
<div class="grid_12 box">
<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array('post_type' => 'news', 'posts_per_page' => 8, 'paged' => $paged);
$loop = new WP_Query($args);
while ($loop->have_posts()) : $loop->the_post();
?>
<div class="news">
<h4><?php the_title() ?></h4></a>
<span><?php the_time('F jS, Y'); ?></span>
<p><?php limit_excerpt("30"); ?></p>
</div>
<?php endwhile; ?>
<div id="pagination">
<?php if(function_exists('wp_pagenavi')) {
wp_pagenavi(array(
'query' =>$loop
));
}
?>
</div>
</div>
</div><!-- .container_12 -->
<?php get_footer(); ?>
[更新 - 解決方案]
所以我編寫了一個解決方案。將這個在functions.php的
//Set for cpts
function cpt_init($cpt)
{
add_rewrite_rule(
"{$cpt}/page/([^/]+)/?",
"index.php?pagename={$cpt}&pag=$matches[1]",
'top');
}
//Only Add Once
add_filter('query_vars', 'cpt_query_vars');
function cpt_query_vars($query_vars)
{
$query_vars[] = 'pag';
return $query_vars;
}
//Add for each type
add_action('init', 'cpt_init', 'news');
而且在循環使用get_query_var('pag')
,而不是get_query_var('page')
偉業我已經試過了,仍然沒有工作。感謝您的回覆 – dciso