个性化阅读
专注于IT技术分析

WordPress post查询不起作用

我正在尝试找出一种方法来对自定义查询进行the_posts_pagination或任何其他输出数字帖子导航。

但这似乎无效, 我不知道我做错了什么, 请多加建议和解决方案, 谢谢

我的密码

<?php global $query_string; // required
$posts = query_posts($query_string.'&posts_per_page=3&order=ASC'); ?>

   <div class="main-post-loop">
        <div class="big-thum-section img-is-responsive">
           <?php if ( has_post_thumbnail() ) : ?>
             <?php the_post_thumbnail('small-block-thumb'); ?>
                <?php endif; ?> 
         </div>

        <div class="squiggle-post-meta-section clearfix">
           <h2><a href="<?php echo get_permalink(); ?>"> <?php the_title(); ?> </a></h2>
             <div class="excerpt-post"><?php the_excerpt(); ?></div>
        </div>
        <div class="continue-reading-section">
         <a href="<?php echo get_permalink(); ?>" class="cont-reading"> Continue reading <i class="fa fa-chevron-right"></i></a> 
        </div>
        <div class="squiggly-line"></div>
    </div>
    <?php
        the_posts_pagination( array(
            'mid_size' => 2, 'prev_text' => esc_html( '&larr;' ), 'next_text' => esc_html( '&rarr;' ), ) ); 
?>   
<?php wp_reset_query(); // reset the query ?>

#1


为了做到这一点, 你需要执行一些步骤, 首先, 我建议你使用wp-pagenavi插件, 它可以为你处理很多事情。

无论如何, 无论使用插件还是不使用插件, 我都对这两种方法进行了说明, 首先我们编写查询并根据分页查询var设置分页属性, 因此当用户导航至第3页时, 查询将过滤帖子并显示第三页帖子:

$paged = (int) ( get_query_var( 'paged' ) ?: ( get_query_var( 'page' )?: 1 ) );
$my_query = new WP_Query( array(
    'posts_per_page' => 10, 'paged'          => $paged // This is important for pagination links to work
) );

现在, 如果你决定使用wp-pagenavi插件, 则使用自定义查询进行分页非常容易, 你需要做的就是:

<?php if( function_exists('wp_pagenavi') ) wp_pagenavi( array( 'query' => $my_query ) ); ?>   

但是, 如果你希望使用the_posts_pagination()函数, 我不确定它是否支持自定义查询, 但是由于它使用的是paginate_links()函数, 因此应该使用此参数

$args = array(
    'current' => max( 1, $paged ), // $paged is what we defined earlier or you can use just get_query_var('paged')
    'total' => $my_query->max_num_pages
)

如果不是, 则可以将paginate_links()函数本身与上述相同的参数一起使用。

另请参阅:此答案


#2


<?php 
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts(array('post_type' => 'post', 'order' => 'ASC', 'paged' => $paged, 'posts_per_page' => 12 ));
        if( have_posts() ) : ?>
            <?php while ( have_posts() ) : the_post(); ?>
                <?php the_title();?>
                <?php the_excerpt(); ?>
            <?php endwhile; ?>
            <div class="pagination"><?php my_pagination(); ?></div>
        <?php endif; ?>
<?php wp_reset_query(); ?>

在你的functions.php中添加,

if ( ! function_exists( 'my_pagination' ) ) :
    function my_pagination() {
        global $wp_query;

        $big = 999999999; // need an unlikely integer

        echo paginate_links( array(
            'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages
        ) );
    }
endif;

或尝试以下操作:http://www.wpbeginner.com/wp-themes/how-to-add-numeric-pagination-in-your-wordpress-theme/

赞(0)
未经允许不得转载:srcmini » WordPress post查询不起作用

评论 抢沙发

评论前必须登录!