页面中的帖子分页不起作用 WordPress


post pagination in page isn't working wordpress

function paginate_posts() {
    global $wp_query, $wp_rewrite;
    $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
    $current = str_pad($current, 2, '0', STR_PAD_LEFT);
    $total = str_pad($wp_query->max_num_pages, 2, '0', STR_PAD_LEFT);
    $pagination_args = array(
        'base' => @add_query_arg('page', '%#%'),
        'format' => '',
        'total' => $wp_query->max_num_pages,
        'current' => $current,
        'show_all' => false,
        'end_size' => 0,
        'mid_size' => 0,
        'next_text' => _("»"),
        'prev_text' => _("«"),
    );
    if ($wp_rewrite->using_permalinks())
        $pagination_args['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s', get_pagenum_link(1))) . 'page/%#%/', 'paged');
    if (!empty($wp_query->query_vars['s']))
        $pagination_args['add_args'] = array('s' => get_query_var('s'));
    $prev = get_previous_posts_link('');
    $next = get_next_posts_link('');
    $links = "<div class='pagination_box'><span class='prev page-num'>$prev</span> <span>Page $current/$total</span> <span class='next page-num'>$next</span></div>";
    echo $links;
}

通过上述代码进行的分页在分类类别页面中工作。但是当我在第 <?php paginate_posts(); ?> 页中调用此函数时,它不起作用。但是不明白问题出在哪里?

为了使我的分页代码在页面中工作,我将代码放在要显示分页的页面内,然后我添加了带有参数的新查询,它现在可以工作了。我的最终代码如下所示:

<?php
    global $wp_query, $wp_rewrite;
    $wp_query = new WP_Query($args);
    $wp_query->query('post_type=product&paged='.get_query_var('paged').'&odrerby=ID&posts_per_page=15&order=DESC');
    $wp_query->query_vars['paged'] > 1 ? $current = $wp_query->query_vars['paged'] : $current = 1;
    $current = str_pad($current, 2, '0', STR_PAD_LEFT);
    $total = str_pad($wp_query->max_num_pages, 2, '0', STR_PAD_LEFT);
    $pagination_args = array(
        'base' => @add_query_arg('page', '%#%'),
        'format' => '',
        'total' => $wp_query->max_num_pages,
        'current' => $current,
        'show_all' => false,
        'end_size' => 0,
        'mid_size' => 0,
        'next_text' => _("&raquo;"),
        'prev_text' => _("&laquo;"),
    );
    if ($wp_rewrite->using_permalinks())
        $pagination_args['base'] = user_trailingslashit(trailingslashit(remove_query_arg('s', get_pagenum_link(1))) . 'page/%#%/', 'paged');
    if (!empty($wp_query->query_vars['s']))
        $pagination_args['add_args'] = array('s' => get_query_var('s'));
    $prev = get_previous_posts_link('');
    $next = get_next_posts_link('');
    $links = "<span class='pagexofy'><span class='prev page-numbers'>$prev</span> <span>PAGE $current/$total</span> <span class='next page-numbers'>$next</span></span>";
    echo $links;
?>