Php 具有自定义主题的WordPress分页不';行不通

Php 具有自定义主题的WordPress分页不';行不通,php,wordpress,wordpress-theming,Php,Wordpress,Wordpress Theming,我在WordPress博客中使用自定义主题进行分页时遇到问题 这是我实际用于显示主页中所有帖子的循环(如您所见,我只需要显示插入主页类别中的帖子): 最近的 | 循环显示第一页上的前100篇文章,但如果我在浏览器mysite.com/page/2中键入,我会在第一页上看到相同的文章 我在网上读过几篇关于分页问题的文章,但我找不到解决办法 有什么想法吗 谢谢大家! 如果删除偏移不起作用,请尝试以下操作: 希望这能解决你的问题 $paged = ( get_query_var( 'p

我在WordPress博客中使用自定义主题进行分页时遇到问题

这是我实际用于显示主页中所有帖子的循环(如您所见,我只需要显示插入主页类别中的帖子):


最近的

|


循环显示第一页上的前100篇文章,但如果我在浏览器mysite.com/page/2中键入,我会在第一页上看到相同的文章

我在网上读过几篇关于分页问题的文章,但我找不到解决办法

有什么想法吗


谢谢大家!

如果删除偏移不起作用,请尝试以下操作:

希望这能解决你的问题

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$posts_per_page = 100;
$offset = ( $paged - 1 ) * $posts_per_page; 

$args = array(
  'post_type'   => 'post',
  'post_status' => 'publish',
  'category_name' => 'home',
  'order' => 'DESC',
  'posts_per_page' => $posts_per_page,
  'paged' => $paged,
  'offset' => $offset);

offset
参数存在一些已知问题。据报道,

偏移量(int)–要置换或通过的桩号。警告:设置偏移参数将覆盖/忽略分页参数并中断分页。当使用“每页帖子数”=>-1(显示所有帖子)时,“偏移量”参数将被忽略

以下是Wordpress提出的解决方案。
您可以添加自定义分页

步骤1-将函数添加到functions.php文件

if (!function_exists('wpex_pagination' )) {

    function wpex_pagination() {

        $prev_arrow = is_rtl() ? '→' : '←';
        $next_arrow = is_rtl() ? '←' : '→';

        global $wp_query;
        $total = $wp_query->max_num_pages;
        $big = 999999999; // need an unlikely integer
        if( $total > 1 )  {
             if( !$current_page = get_query_var('paged') )
                 $current_page = 1;
             if( get_option('permalink_structure') ) {
                 $format = 'page/%#%/';
             } else {
                 $format = '&paged=%#%';
             }
            echo paginate_links(array(
                'base'          => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
                'format'        => $format,
                'current'       => max( 1, get_query_var('paged') ),
                'total'         => $total,
                'mid_size'      => 3,
                'type'          => 'list',
                'prev_text'     => $prev_arrow,
                'next_text'     => $next_arrow,
             ) );
        }
    }
    }


//Step-2 Add CSS




ul.page-numbers {
    list-style: none;
    margin: 0;
}

.page-numbers:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

ul.page-numbers li {
    display: block;
    float: left;
    margin: 0 4px 4px 0;
    text-align: center;
}

.page-numbers a,
.page-numbers span {
    line-height: 1.6em;
    display: block;
    padding: 0 6px;
    height: 18px;
    line-height: 18px;
    font-size: 12px;
    text-decoration: none;
    font-weight: 400;
    cursor: pointer;
    border: 1px solid #ddd;
    color: #888;
}

.page-numbers a span { padding: 0 }

.page-numbers a:hover,
.page-numbers.current,
.page-numbers.current:hover {
    color: #000;
    background: #f7f7f7;
    text-decoration: none;
}

.page-numbers:hover { text-decoration: none }
//步骤3将分页添加到模板文件

<?php wpex_pagination(); ?>


尝试删除“偏移量”=>1是,删除“偏移量”=>1会使分页重新工作。谢谢你@Kalti!现在的问题是Wordpress只显示我的条目的前4页。。。我将发布一个新问题。我添加了另一个解决方案,您可以尝试一下。谢谢@Kalti!您的第一个解决方案似乎运行良好!唯一的问题是现在我不能使用偏移量。明天我会尝试你的第二个解决方案,并会给你反馈!通过一些小小的定制(现在要显示的帖子数量是29篇,而不是100篇),您的解决方案就像一个魅力!谢谢你@Kalti@大卫,不客气!很高兴我能帮忙。
<?php wpex_pagination(); ?>