【WordPress的WP_Query仅搜索标题】我正在使用带有”
s”
参数的WP_Query, 但是它搜索帖子中的所有字段, 并且我只想仅搜索帖子中的标题。不知道正确的方法是什么?
$args = array(
's' =>
$_POST['k'], 'post_type' =>
'my_post', "nopaging"=>
true, 'meta_query' =>
array()
);
$my_query = new WP_Query($args);
#1我们需要为wordpress” posts_search” 添加过滤器。
在活动主题的functions.php文件中添加以下代码, 会将WordPress搜索结果限制为仅包含页面和帖子标题。
//将搜索限制为仅发布标题
function ni_search_by_title_only( $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( 'posts_search', 'ni_search_by_title_only', 500, 2 );
#2一件事有趣。如果要在产品上使用此功能, 则应使用get_product_search_form挂钩。
add_filter( 'get_product_search_form', 'ni_search_by_title_only', 500, 2 );
这样, 仅应通过在标题中搜索来给出结果。
推荐阅读
- WordPress(wp_create_category可能需要20秒才能完成)
- WordPress wp_insert_post在移动设备上多次触发
- WordPress网站显示不正确
- WordPress警告支持
- WordPress在Sage模板中使用图像
- WordPress(URL到home.php的所有帖子)
- WordPress注销子主题中的父主题侧边栏不起作用
- wordpress 27个社交媒体无需共享插件即可共享图标。
- cublasSgemm函数的使用笔记