我正在Wordpress数据库上进行通配符搜索查询"帖子标题"。
我的结果会有所不同:
我想将我的通配符结果限制为:
我可以实现这个想法或算法吗?
代码
$query = "SELECT ID, `post_title` FROM `wp_posts` WHERE `post_title` LIKE '%".$titleRequest."%'";
$results = $wpdb->get_results($query);
答案 0 :(得分:1)
像这样修改查询:
$query = "SELECT ID, `post_title` FROM `wp_posts` WHERE `post_title` LIKE '".$titleRequest."%'";
$results = $wpdb->get_results($query);
最初的%
表示“在此处匹配任何内容” - 但您不希望这样做,您只想匹配以请求的标题开头的内容。第二个%
没问题 - 毕竟,你确实希望在帖子标题后匹配内容。
答案 1 :(得分:0)
在WHERE
查询中的SQL
子句中尝试此操作:
WHERE FieldName LIKE 'Post Title%';
答案 2 :(得分:0)
您需要在搜索中实施模糊逻辑。但它是一个非常复杂的算法,幸运的是已经有一些插件能够像“Relevanssi”那样激发这种算法。安装后,它将覆盖您当前的搜索机制并添加自己的搜索机制,然后您可以相应地修改它。