我正在进行$wpdb
查询以搜索媒体库中的项目。搜索类型的作品,除了它只返回完全匹配。
我在库中有两个图像,一个名为run
,另一个名为running
,如果我只搜索run
,则只返回完全匹配,running
不归还。我在这里错过了什么吗?我以为LIKE
会返回包含这些字符的内容吗?
这是我的查询,我正在使用AJAX将其粘贴到页面中。
include_once($_SERVER['DOCUMENT_ROOT'].'/wp-load.php' );
global $wpdb;
if( isset($_GET['nameLike']) ) {
$search = $_GET['nameLike'];
} else {
$search = '';
}
$results = $wpdb->get_results( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_status = 'inherit' AND post_title LIKE %s", $search), ARRAY_A);
foreach ($results as $result) : ?>
<?php $image = wp_get_attachment_image( $result[ID], array(200, 150) ); ?>
<div class="grid-1-4"><?php echo($image); ?></div>
<?php endforeach ?>
答案 0 :(得分:1)
我在评论中写了答案,我在这里也会写如何在WP中正确实现它。您可以在搜索字词中添加“%”。
$results = $wpdb->get_results( $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_status = 'inherit' AND post_title LIKE %s", '%' . like_escape($search) . '%'), ARRAY_A);
编辑:从here
获取WP示例