Wordpress

时间:2015-10-12 17:58:18

标签: wordpress pagination

我想在wordpress博客页面上的帖子上添加分页,我应该在哪里放置代码? 我正在使用:

<?php
$big = 999999999; // need an unlikely integer
echo paginate_links( array( ..parameters here.. ) );
?> 

和自定义循环。如果我把它放在循环下面它工作正常,如果我把它放在循环上面它没有显示。有解决方案吗?

我的lopp看起来像是:

<?
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;   
$args = array(
    'paged' => $paged,
    'posts_per_page'=>12,
    'orderby' => 'meta_value_num',
    'order' => 'DSC',
    'pagination' => 'true',
    'cat' => '2'
);

$the_query = new WP_Query( $args );
     if ( $the_query->have_posts() ) {
        while ( $the_query->have_posts() ) { 
?>  
<?php $the_query->the_post(); ?>
<li id="post-<?php the_ID(); ?>"> ...</li> ....   

2 个答案:

答案 0 :(得分:0)

我建议你在循环之前和之后使用自定义钩子,如果可能的话,这将帮助你做类似下面的代码,可以在woocommerce中使用,但如果你没有使用{{ 1}},你需要在循环之前和之后定义你的CUSTOM HOOKS,做这样的事情。您已尝试覆盖模板,如果您将按照我的建议,那么您还需要在模板中添加挂钩,因此我建议尽可能尝试通过覆盖模板在模板中执行此操作或更好地仅在{{ 1}}无需修改模板。但是现在,我可以建议你这样做。

woocommerce

答案 1 :(得分:0)

试试这个:

我在while循环之前添加了paginate_links函数,并将$ the_query添加到paginate_links-&gt;'total'参数

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;   
$args = array(
    'paged' => $paged,
    'posts_per_page'=>2,
    'post_type'=>'post'        
);

    $the_query = new WP_Query( $args );
     if ( $the_query->have_posts() ) 
     {       
        $big = 999999999; 
        echo paginate_links( array(
        'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
        'format' => '?paged=%#%',
        'current' => max( 1, get_query_var('paged') ),
        'total' => $the_query->max_num_pages
        ) );         

        while ( $the_query->have_posts() ) 
        { 
            $the_query->the_post(); 
            echo $post->ID;
        }
    }