php - WordPress 搜索查询帖子

标签 php mysql wordpress

我正在为我的 WordPress 网站开发自定义搜索... http://www.nekretnine-oglasi.me/这是网站,您可以看到大多数字段都是自定义字段,除了“Kategorija”(类别)和“Grad”(post_title)之外。

这是我的查询:

query_posts(array(
    'orderby' => 'date',
    'category_name' => $_POST['kategorija'],
    'post_type' => 'post',
    'post_title' => $_POST['grad'] //This line doesnt work
)

主要是让“post_title”发挥作用...

然后让其他自定义字段发挥作用...

通过此查询,我从类别中获取帖子,但不是从类别和 post_title 中获取帖子。

最佳答案

基于此解决方案,您应该在 wp_query 中的 posts_where 属性上定义一个过滤器。 https://wordpress.stackexchange.com/questions/18703/wp-query-with-post-title-like-something

使用此代码,您可以定义自定义 SQL where 语句:

add_filter( 'posts_where', 'wpse18703_posts_where', 10, 2 );
function wpse18703_posts_where( $where, &$wp_query )
{
    global $wpdb;
    if ( $wpse18703_title = $wp_query->get( 'wpse18703_title' ) ) {
        $where .= ' AND ' . $wpdb->posts . '.post_title LIKE \'' . esc_sql( $wpdb->esc_like( $wpse18703_title ) ) . '%\'';
    }
    return $where;
}

您可以在查询中使用如下所示:

$args = array(
    'orderby'     => 'date',
    'post_type' => 'post',
    'wpse18703_title' => $_POST['grad']
  );
$wp_query = new WP_Query($args);

我无法尝试代码片段,但我认为这对于入门指南来说是一个很好的选择。

关于php - WordPress 搜索查询帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26828772/

相关文章:

php - jqplot 图表未显示在我的 jquerymobile 页面中

php - 从服务器中删除图像

没有这个子查询并且没有限制偏移量的Mysql优化

mysql - 是否可以限制 WHERE 列 IN(...) 语句中每个值的行数?

php - 在 javascript "if"中错误使用 php?

php - laravel 设置外键

javascript - 使用 Laravel 路由的 HTML 应用程序中的 CSRF

php - 递归项状态性能

wordpress - Hook 到 WordPress 主题定制器保存操作

wordpress - 具有多个文本字段的自定义 WordPress 搜索