显示分页页数,即使总页数低于两页

时间:2020-07-06 作者:Kertix

我已经实现了对我的wp站点的分页,并且分页工作正常,但是当我限制显示10篇文章,我有9篇文章时,它不会显示分页。

在这种情况下是否可以显示1?

我读到paginate\\u链接在2以下时将返回void,但这是可以改变的吗?(string|array|void) String of page links or array of page links, depending on \'type\' argument. Void if total number of pages is less than 2.

我的代码当前。当发布时显示第1页和第2页>;10,但如果发布,则不会显示1<;10:

    global $wp_query;
        $args_pagination = array(
                        \'base\' => add_query_arg(\'paged\', \'%#%\'),
                        \'total\' => $wp_query->max_num_pages,
                        \'current\' => $paged,
                        \'prev_next\' => false);
        $html .= paginate_links($args_pagination);
编辑:此all函数用作快捷码,用于在我的站点的随机位置使用自定义分页(不是随机的,但不是在通常分页的位置)。我使用query\\u帖子来实现这一点,因为我真的不太了解wp开发。

extract(shortcode_atts(array(\'limit\' => 1000, \'type\' => \'post\'), $atts ));
$paged = get_query_var(\'paged\') ? get_query_var(\'paged\') : 1;  

query_posts(array( 
        \'posts_per_page\' => $limit, 
        \'post_type\' => $type, 
        \'order\' => \'DESC\',
        \'orderby\' =>\'date\', 
        \'paged\' => $paged));

global $wp_query;
$args_pagination = array(
        \'base\' => add_query_arg(\'paged\', \'%#%\'),
                    \'total\' => $wp_query->max_num_pages,
                    \'current\' => $paged,
                    \'prev_next\' => false);
    $html .= paginate_links($args_pagination);
我返回html,将其显示在预先设计的框中。

1 个回复
SO网友:Jacob Peattie

这是不可能的。paginate_links() 是硬编码的,一旦发现少于2页,就停止生成输出。您可以在函数源代码的第4130–4132行中看到以下内容:https://developer.wordpress.org/reference/functions/paginate_links/#source

唯一的解决方法是复制paginate_links() 转换为您自己的新功能,并更改21 现有功能的第4130行是什么。