Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Wordpress搜索结果按优先级显示(首先按标题显示帖子)_Php_Mysql_Wordpress - Fatal编程技术网

Php Wordpress搜索结果按优先级显示(首先按标题显示帖子)

Php Wordpress搜索结果按优先级显示(首先按标题显示帖子),php,mysql,wordpress,Php,Mysql,Wordpress,我为自定义搜索实现了几个搜索过滤器。所以现在我有了 按标题和自定义字段获取帖子的搜索函数。但是 返回的结果显示为随机 我想先按标题显示搜索结果,然后按自定义显示 场 有办法吗 搜索效果很好,只需按优先级显示即可。这是 我的搜索代码 您的帖子只显示为随机的,因为在这一行{$wpdb->prefix}posts.ID ASC中,您还可以按ID对它们进行排序,请尝试删除此帖子并仅按帖子类型对它们进行排序 如果上述方法不起作用,只需编写自己的普通SQL查询并执行它。 另一个重要注意事项:$wpdb->e

我为自定义搜索实现了几个搜索过滤器。所以现在我有了 按标题和自定义字段获取帖子的搜索函数。但是 返回的结果显示为随机

我想先按标题显示搜索结果,然后按自定义显示 场

有办法吗

搜索效果很好,只需按优先级显示即可。这是 我的搜索代码


您的帖子只显示为随机的,因为在这一行
{$wpdb->prefix}posts.ID ASC
中,您还可以按
ID
对它们进行排序,请尝试删除此帖子并仅按帖子类型对它们进行排序

如果上述方法不起作用,只需编写自己的普通SQL查询并执行它。 另一个重要注意事项:
$wpdb->escape()
函数已弃用,请尝试使用
$wpdb->prepare()
以防止SQL注入

仅举例子:

$wpdb->query($wpdb->prepare("
     SELECT $wpdb->posts
     INNER JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id
     WHERE 1 = 1
     AND $wpdb->postmeta.meta_key = %s
     AND $wpdb->postmeta.meta_value LIKE %s
     ORDER BY $wpdb->posts.post_type DESC
     ",
    '_recipe_incredients', '%'.get_query_var('s').'%')
);
有关详细信息,请参阅

$wpdb->query($wpdb->prepare("
     SELECT $wpdb->posts
     INNER JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id
     WHERE 1 = 1
     AND $wpdb->postmeta.meta_key = %s
     AND $wpdb->postmeta.meta_value LIKE %s
     ORDER BY $wpdb->posts.post_type DESC
     ",
    '_recipe_incredients', '%'.get_query_var('s').'%')
);