Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 每页不同的帖子取决于页码_Php_Wordpress - Fatal编程技术网

Php 每页不同的帖子取决于页码

Php 每页不同的帖子取决于页码,php,wordpress,Php,Wordpress,下面的“代码A”用于排除类别。但我也想做到这一点: 如果是第1-3页,则显示8篇文章 如果是第4页或更多,则显示9篇文章 如何做到这一点?如何将其添加到“代码A”中 . 代码A function exclude_categories($query){ if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'category__not_in', array(60

下面的“代码A”用于排除类别。但我也想做到这一点:

如果是第1-3页,则显示8篇文章
如果是第4页或更多,则显示9篇文章

如何做到这一点?如何将其添加到“代码A”中

.
代码A

function exclude_categories($query){  
    if ( $query->is_home() && $query->is_main_query() ) {  
    $query->set( 'category__not_in', array(60, 61) );  
    }  
}  
add_action( 'pre_get_posts', 'exclude_categories' );  

我还不能测试它,但这可以工作

function exclude_categories($query){    
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 

    if ( $paged < 4 ) :
        $query->set( 'posts_per_page', 8 );
    else :
        $query->set( 'posts_per_page', 9 );
    endif;

    if ( $query->is_home() && $query->is_main_query() ) {  
    $query->set( 'category__not_in', array(60, 61) );  
    }  
}  
add_action( 'pre_get_posts', 'exclude_categories' );  

我认为全球$paged可能是实现这一目标的正确选择
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
global $paged; 
$paged = ( is_int($paged) && $paged !== 0 ) ? $paged : 1;