我在WordPress博客中发现了这个自定义功能,它似乎正是我所需要的。唯一的问题是我不知道要传递什么作为第二个参数。它是要求查询但不查询该函数的内部?我会通过什么查询?如何在WordPress中使用自定义搜索功能
我已经搜索了一个多小时,并且我一直在寻找类似的功能,所以这是我的WordPress新手入门。
该函数应该接受一个搜索项(第一个参数)并返回所有标题为LIKE
的搜索参数。
function custom_search($search, &$wp_query)
{
global $wpdb;
if (empty($search))
return $search; // skip processing - no search term in query
$q = $wp_query->query_vars;
$n = ! empty($q['exact']) ? '' : '%';
$search =
$searchand = '';
foreach ((array) $q['search_terms'] as $term) {
$term = esc_sql(like_escape($term));
$search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
$searchand = ' AND ';
}
if (! empty($search)) {
$search = " AND ({$search}) ";
if (! is_user_logged_in())
$search .= " AND ($wpdb->posts.post_password = '') ";
}
return $search;
}
add_filter('c_search', 'custom_search', 500, 2);
我不知道为什么你有'c_search'在你的过滤器,但它应该是'posts_search' – nbsp 2015-07-23 22:02:58