Wordpress';每页张贴';无法在FrontPage.php上处理全局$wp_查询

Wordpress';每页张贴';无法在FrontPage.php上处理全局$wp_查询,wordpress,Wordpress,在我的Wordpress管理面板的“设置”->“阅读”部分中,我将“博客页面最多显示”值设置为5,并将“您的主页显示”值设置为“您的最新帖子”。 我试图在front-page.php循环中将查询的“posts\u per\u page”参数设置为2(或5以外的任何数字),从而绕过这个问题,并且我还没有在functions.php文件中添加“pre\u get\u posts”钩子。但结果总是显示5个帖子 这是我的front-page.php文件: <?php get_header(); ?

在我的Wordpress管理面板的“设置”->“阅读”部分中,我将“博客页面最多显示”值设置为5,并将“您的主页显示”值设置为“您的最新帖子”。 我试图在front-page.php循环中将查询的“posts\u per\u page”参数设置为2(或5以外的任何数字),从而绕过这个问题,并且我还没有在functions.php文件中添加“pre\u get\u posts”钩子。但结果总是显示5个帖子

这是我的front-page.php文件:

<?php get_header(); ?>
<?php
global $wp_query;
$wp_query->set('posts_per_page', 2);
if ($wp_query->have_posts()) {
    while ($wp_query->have_posts()) {
        //var_dump($wp_query->get('post_type'));
        $wp_query->the_post();
        the_title();
        echo '<br>';
    }
    echo paginate_links();
}
?>
<?php get_footer(); ?>

请让我知道如何绕过我在管理面板中设置的值

谢谢,,
Clement

您可以使用以下代码进行尝试-

$MY_Posts = array( 
    'posts_per_page' => 3, 
    'orderby' => 'date', 
    'order' => 'DESC', 
    'update_post_term_cache' => false, 
    'update_post_meta_cache' => false, 
    'nopaging' => true, 
); 
$the_query = new WP_Query( $MY_Posts );

我知道我可以通过创建自己的WP_查询对象来实现这一点,如您所示。但我想通过全局$wp_查询对象实现这一点。这不可能吗?好的,您可以尝试使用下面的代码,将下面的代码添加到function.php文件中。也许它对您有用-函数custom_posts_per_page($query){if(is_page(PAGEID)){set_query_var('posts_per_page',2);}}add_action('pre_get_posts',custom_posts_per_page');