I thought this would do just what I needed…
I’ve added some custom fields to my woocommerce shop and want to be able to search these in the admin panel but it still doesn’t work.
Does this plugin only work on the front end?
Can it be modified to work on the backend too?
Thanks,
]]>prior to the beginning of the post,
i am studing english …
your plugin is good !
I modify your plugin,
if( is_search() ) {
global $wpdb, $wp;
$where = preg_replace(
"/($wpdb->posts.post_title (LIKE '%{$wp->query_vars['s']}%'))/i",
"$0 OR ( $wpdb->postmeta.meta_value LIKE '%{$wp->query_vars['s']}%' )",
$where
);
add_filter( 'posts_join_request', 'modify_wp_search_join' );
add_filter( 'posts_distinct_request', 'modify_wp_search_distinct' );
}
Modification
if( is_search() ) {
global $wpdb, $wp;
$search_var = $wp->query_vars['s'];
$search_bool = stripos($search_var, " ");
if($search_bool == false){
$where = preg_replace(
"/($wpdb->posts.post_title (LIKE '%{$wp->query_vars['s']}%'))/i",
"$0 OR ( $wpdb->postmeta.meta_value LIKE '%{$wp->query_vars['s']}%' )",
$where
);
}else{
$search_var = explode(" ", $search_var);
for($i=0; $i<count($search_var); $i++){
$where = preg_replace(
"/($wpdb->posts.post_title (LIKE '%{$search_var[$i]}%'))/i",
"$0 OR ( $wpdb->postmeta.meta_value LIKE '%{$search_var[$i]}%' )",
$where
);
}
)
add_filter( 'posts_join_request', 'modify_wp_search_join' );
add_filter( 'posts_distinct_request', 'modify_wp_search_distinct' );
}
]]>
$where = preg_replace(
"/(wp_posts.post_title (LIKE '%{$wp->query_vars['s']}%'))/i",
"$0 OR ( $wpdb->postmeta.meta_value LIKE '%{$wp->query_vars['s']}%' )",
$where
);
should be
$where = preg_replace(
"/($wpdb->posts.post_title (LIKE '%{$wp->query_vars['s']}%'))/i",
"$0 OR ( $wpdb->postmeta.meta_value LIKE '%{$wp->query_vars['s']}%' )",
$where
);
]]>