Loops 类似于+;在一个循环中按分类法复选框搜索

Loops 类似于+;在一个循环中按分类法复选框搜索,loops,search,wordpress,Loops,Search,Wordpress,我是WP的新手,所以请原谅我的无知,我正在努力学习 所以我有两个Wp_查询(在搜索栏中键入搜索和分类搜索复选框),我不知道如何混合它们。。。如果一个人在第二时间工作,那就是一个问题 <?php global $search_ingr; if(isset($search_ingr)) { global $loop; } else { $query_params = getQueryParams(); if(isset($q

我是WP的新手,所以请原谅我的无知,我正在努力学习

所以我有两个Wp_查询(在搜索栏中键入搜索和分类搜索复选框),我不知道如何混合它们。。。如果一个人在第二时间工作,那就是一个问题

<?php

    global $search_ingr;

    if(isset($search_ingr)) {
        global $loop;
    } else {

    $query_params = getQueryParams();
        if(isset($query_params['search'])) {
            $query_params['post_title_like'] = $query_params['search'];
            unset($query_params['search']);
        }
    $loop = new WP_Query(array(
        'numberposts' => 60,
        'posts_per_page' => 60,
        'orderby' => 'title',
        'order' => 'ASC',
        'post_type' => 'products',
        'post_status' => 'publish'
        ));
    }
?>


<?php if(isset($search)): ?>
    <div class="search-matches"><h4>Wyniki wyszukiwania:</h4><hr></div>
<?php endif; ?>

<?php if ($loop->have_posts()) :?>
<?php while($loop->have_posts()) : $loop->the_post (); ?>

    <span class="tooltip tooltip-effect-4">
    <span class="tooltip-item">
        <div class="product">
            <a href="<?php the_permalink(); ?>">
                <div class="product-thumbnail"><span class="helper"></span><?php the_post_thumbnail(); ?></div>
                <div class="product-name"><?php the_title(); ?></div>
            </a>
        </div>
    </span>
    <a href="<?php the_permalink(); ?>">
    <span class="tooltip-content clearfix">
        <?php the_post_thumbnail(); ?>
        <span class="tooltip-text"><?php the_title(); ?></span>
    </span>
    </a>
    </span>

<?php endwhile; ?>
<?php endif; ?>
两种搜索都很有效(但我无法控制帖子的顺序和数量)。
有什么帮助吗?

修改wordpress循环的正确方法如下。 请尝试以下操作,而不是顶部的第一块PHP:

<?php
    $search = get_query_var('s');
    $loop = new WP_Query(array(
        'numberposts' => 60,
        'posts_per_page' => 60,
        'orderby' => 'title',
        'order' => 'ASC',
        'post_type' => 'products',
        'post_status' => 'publish',
        's' => $search
    ));
?>


潜在的问题是,您使用的函数和参数不是wordpress固有的-getQueryParams()不是wordpress函数,而且WP_查询函数不接受名为“post_title_like”的参数。如果这段代码有效,那么您可能会使用一些插件来实现搜索功能,在这种情况下,您必须覆盖插件行为,而不是默认的wordpress查询。

非常感谢!非常感谢你的帮助,但这并没有解决我的问题。 我会尝试另一种方法 这段代码在两种搜索中都能很好地工作,但我需要更改超过10个限制的帖子数量(这就是为什么我开始使用这段代码):

<?php
    $search = get_query_var('s');
    $loop = new WP_Query(array(
        'numberposts' => 60,
        'posts_per_page' => 60,
        'orderby' => 'title',
        'order' => 'ASC',
        'post_type' => 'products',
        'post_status' => 'publish',
        's' => $search
    ));
?>
<?php

    global $search_ingr;

    if(isset($search_ingr)) {
        global $loop;
    } else {

    $query_params = getQueryParams();
    if(isset($query_params['search'])) {
        $query_params['post_title_like'] = $query_params['search'];
        unset($query_params['search']);
        }

    $loop = new WP_Query($query_params);

    }

?>
function getQueryParams(){
    global $query_string;
    $parts = explode('&', $query_string);

    $return = array();
    foreach($parts as $part){
        $tmp = explode('=', $part);
        $return[$tmp[0]] = trim(urldecode($tmp[1]));
    }

    return $return;
}