清理搜索数据以与WP_QUERY一起使用

时间:2012-01-10 作者:turbonerd

我正在使用大量定制的WordPress来驱动一个养鱼网站。

我有两个独立的搜索区域:一个站点范围的搜索和一个鱼类物种搜索。后者还具有高级搜索功能,可以搜索“物种”自定义帖子类型中的某些元值(例如,允许用户搜索可以保持在特定水硬度的鱼)。

我想使用search.php 来处理所有这些,所以我用WP_Query. 搜索表单包含以下内容<input type="hidden" name="type" value="species" /> 指定正在执行的搜索类型。

我使用的代码如下:

<?php
    if (isset($_GET["s"])) {
        $search_term = $_GET["s"];
    }

    if (isset($_GET["type"])) {
        switch ($_GET["type"]) {
            case "profile" :
                $post_type = "species";
                break;
            case "glossary" :
                $post_type = "glossary";
                break;
            default :
                $post_type = "any";
                break;
        }
    }

    $args = array(
                \'s\' => $search_term,
                \'post_type\' => $post_type
            );

    $query = new WP_Query ( $args );
?>
我(冗长,带着歉意)的问题是:用什么命令清理搜索框中的数据最好?

提前感谢,

1 个回复
最合适的回答,由SO网友:mor7ifer 整理而成

查看第1857行WP_Query\'s code, 似乎已经为您完成了清理,所以只需使用输入的任何搜索词即可。

wordpress的当前版本是3.3,以防代码在下一行发生更改。

结束

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post