2011-04-08 91 views
0

由于某种原因,分页不起作用,我不知道为什么。WordPress中的分页问题

<?php 

    if (get_query_var('paged')) 
    $paged = get_query_var('paged'); 
    elseif (get_query_var('page')) 
    $paged = get_query_var('page'); 
    else 
    $paged = 1; 

    $post_type = 'portfolio'; 
    $tax = 'type'; 
    $tax_terms = get_terms($tax); 

    ?> 

    <?php 

    //print_r($tax_terms); 
    if ($tax_terms) { 
    foreach ($tax_terms as $tax_term) { 

    $args = array (

     'post_type' => $post_type, 
     "$tax" => $tax_term->slug, 
     'post_status' => 'publish', 
     'posts_per_page' => 2, 
     'caller_get_posts'=> 1, 
     'paged' => $paged 

     ); 


    $my_query = new WP_Query($args); 


    ?> 

    <?php if ($my_query->have_posts()) { ?> 

    <?php while ($my_query->have_posts()) : $my_query->the_post(); $count++; global $post; ?> 

    <?php include (TEMPLATEPATH . '/_framework/includes/portContent.php'); ?>  

    <?php endwhile;?> 

    <?php } ?> 

    <?php } ?> 

    <?php } ?> 

    <?php if (function_exists("pagination")) { 
    pagination($additional_loop->max_num_pages); 
    } ?> 

任何想法?

+1

什么情况或不会发生? – 2011-04-08 15:49:07

+0

分页完全消失。它根本不识别posts_per_page。这是一个不起作用的例子。 http://s51370.gridserver.com/blank/test虽然没有错误消息。 – 2011-04-08 22:10:15

回答

0

试试这个:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
+0

这似乎没有效果。我删除了'if(get_query_var('paged')) $ paged = get_query_var('paged'); elseif(get_query_var('page')) $ paged = get_query_var('page'); else $ paged = 1; '并用'$ paged =(get_query_var('paged'))替换它? get_query_var('paged'):1;'和分页根本不显示。但是,过滤功能仍然有效。 – 2011-04-09 14:53:13

+0

先尝试使用WordPress的默认分页链接,看看它是否有效。 'previous_posts_link(); next_posts_link();' – Sisir 2011-04-09 20:21:11

+0

也是为什么你把这个while放在foreach循环中。你在努力完成什么?谢谢! – Sisir 2011-04-09 20:24:03