分页不适用于front-page.php上的ACF查询

时间:2018-09-11 12:06:27

标签: wordpress pagination advanced-custom-fields

我正在使用基于ACF文档的以下查询。由于某种原因,分页不起作用。谁能告诉我我所缺少的吗?分页代码在archive.php页面上运行良好。

front-page.php

<?php
$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1;
$args = array(
    'paged' => $paged,
    'posts_per_page'    => 6,
    'post_type'     => 'airdrop',

    'meta_query'    => array(
        'relation'      => 'AND',
        array(
            'key'       => 'airdrop_type',
            'value'     => array('Airdrop'),
            'compare'   => 'IN',
        )
    )
);
$the_query = new WP_Query( $args ); ?>
<?php if( $the_query->have_posts() ): ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php get_template_part('airdrops/full-width'); ?>

<?php endwhile; ?>

    <div class="col-md-12">
        <?php html5wp_pagination(); ?>
    </div>

<?php endif; ?>
<?php wp_reset_query(); ?>

functions.php中的分页代码

add_action('init', 'html5wp_pagination');

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

3 个答案:

答案 0 :(得分:0)

检查此 Pagination_Parameters

还有http://prntscr.com/kt47rs 您不需要使用add_action('init','...')函数进行分页。 并使用以下调用函数:html5wp_pagination($the_query );

答案 1 :(得分:0)

请检查,并替换为此

 function html5wp_pagination()
    {
        global $the_query;
        $big = 999999999;
        echo paginate_links(array(
            'base' => str_replace($big, '%#%', get_pagenum_link($big)),
            'format' => '?paged=%#%',
            'current' => max(1, get_query_var('paged')),
            'total' => $the_query->max_num_pages
        ));
    }

答案 2 :(得分:0)

使用插件可能不是最佳解决方案,但最终我使用了允许wp_query的WP-PageNavi。这对我有用,并解决了问题。

文档可在此处找到:http://scribu.net/wordpress/wp-pagenavi/wpn-2-74.html