Php Wordpress搜索忽略每页的帖子限制?

Php Wordpress搜索忽略每页的帖子限制?,php,wordpress,Php,Wordpress,我想覆盖CMS中指定的post限制(设置为12)。我在参数中添加了“每页帖子”,这是我在Wordpress Codex中找到的,但它不起作用 此搜索代码来自CookingPress主题 问题:为什么参数“每页发布”=>24不起作用 <?php if ($_GET['submit']) { $args = array( 'posts_per_page' => 24, 'tax_query' => array(

我想覆盖CMS中指定的post限制(设置为12)。我在参数中添加了“每页帖子”,这是我在Wordpress Codex中找到的,但它不起作用

此搜索代码来自CookingPress主题

问题:为什么参数“每页发布”=>24不起作用

<?php 
if ($_GET['submit']) {

    $args = array(
            'posts_per_page' => 24,
            'tax_query' => array(
                    'relation' => 'AND'
            )
            ,'post_type' => 'post'
    );

    $cat = mysql_real_escape_string($_GET['cat']);
    $categories = array();
    if($cat) {
        $categories = array (
                'taxonomy' => 'category',
                'field' => 'term_id',
                'terms' => array( $cat )
        );
        array_push($args['tax_query'],$categories);
    }

    $level = mysql_real_escape_string($_GET['level']);
    $levels = array();
    if($level) {
        $levels = array (
                'taxonomy' => 'level',
                'field' => 'slug',
                'terms' => array( $level )
        );
        array_push($args['tax_query'],$levels);
    }

    $serving = mysql_real_escape_string($_GET['serving']);
    if($serving) {
        $servings = array (
                'taxonomy' => 'serving',
                'field' => 'slug',
                'terms' => array( $serving )
        );
        array_push($args['tax_query'],$servings);
    }

    $time = mysql_real_escape_string($_GET['timeneeded']);
    if($time) {
        $times = array (
                'taxonomy' => 'timeneeded',
                'field' => 'slug',
                'terms' => array( $time )
        );
        array_push($args['tax_query'],$times);
    }


    $allergen = $_GET['allergens'];
    if($allergen) {
        $allergens = array (
                'taxonomy' => 'allergen',
                'field' => 'slug',
                'terms' => $allergen
        );
        array_push($args['tax_query'],$allergens);
    }

    $tags = $_GET['include_ing'];

    if($_GET['relation']=='all') {
        if($tags) {
            foreach ($tags as $t) {
                $tagsquery = array (
                        'taxonomy' => 'post_tag',
                        'field' => 'slug',
                        'terms' => mysql_real_escape_string($t)
                );
                array_push($args['tax_query'],$tagsquery);
            }
        }
    } else {
        if($tags) {
            $tagsquery = array (
                    'taxonomy' => 'post_tag',
                    'field' => 'slug',
                    'terms' => $tags
            );

            array_push($args['tax_query'],$tagsquery);
        }
   }

    $extags = $_GET['exclude_ing'];
    if($extags) {
            $extagsquery = array (
                    'taxonomy' => 'post_tag',
                    'field' => 'slug',
                    'terms' => $extags,
                    'operator' => 'NOT IN'
            );
            array_push($args['tax_query'],$extagsquery);
        }

    if(!$wp_query) global $wp_query;
    $args = array_merge( $args , $wp_query->query );
    query_posts( $args);

}
?>

可能的解决方案 尝试将
nopage
参数设置为
false

$args = array(
  'posts_per_page' => -1,
  'nopaging' => false,
  'post_type' => 'post'
);
参考文献

尝试wp_reset_query();在您的代码之前。@user868766尝试过它。对它没有影响。这看起来很有希望。这个网站现在不存在了,所以这个问题可能会被关闭。谢谢。@Clint作为OP,您可以决定如何处理这个问题。除非你想把它留给其他可能遇到类似情况的人。此外,如果这是正确的,您可以将其标记为正确答案:)