繁体   English   中英

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

[英]Wordpress search ignoring posts per page limit?

我想覆盖CMS中指定的帖子限制(设置为12)。 我将'posts_per_page'添加到参数中,我在Wordpress Codex中找到它并且它不起作用。

此搜索代码来自CookingPress主题。

问题 :为什么参数'posts_per_page'=> 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);

}
?>

可能解决方案

尝试将nopaging参数设置为false

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

参考

法典:分页参数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM