WordPress.org

Support

Support » Plugins and Hacks » [Plugin: Search Everything] Fix for author search

[Plugin: Search Everything] Fix for author search

  • Here’s the filters I applied to enable username searching (also does firstname and lastname search). Hope it helps you (wouldn’t mind a mention if it does 😉 ):

    function search_author_join( $join )
    {
    	if( is_search()  ) {
    		global $wpdb;
    
    		$join .= "
    			LEFT JOIN (SELECT ID AS uid, display_name FROM $wpdb->users) AS u ON $wpdb->posts.post_author = u.uid
    			LEFT JOIN (SELECT user_id AS umid1, meta_value AS first_name FROM $wpdb->usermeta WHERE meta_key='first_name') AS um1 ON $wpdb->posts.post_author = um1.umid1
    			LEFT JOIN (SELECT user_id AS umid2, meta_value AS last_name FROM $wpdb->usermeta WHERE meta_key='last_name') AS um2 ON $wpdb->posts.post_author = um2.umid2
    		";
    	}
    
    	return $join;
    }
    add_filter('posts_join', 'search_author_join');
    
    function search_author_where( $where )
    {
    	if( is_search() )
    	{
    		global $wp_query, $wpdb;
    		$search_string = $wp_query->query_vars['s'];
    
    		$where .= " OR (
    				(
    					display_name LIKE '%$search_string%'
    					OR first_name LIKE '%$search_string%'
    					OR last_name LIKE '%$search_string%'
    				)
    				AND $wpdb->posts.post_type='post'
    				AND $wpdb->posts.post_status='publish'
    			)
    		";
    	}
    	return $where;
    }
    add_filter('posts_where', 'search_author_where');

    http://wordpress.org/extend/plugins/search-everything/

Viewing 3 replies - 1 through 3 (of 3 total)
Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘[Plugin: Search Everything] Fix for author search’ is closed to new replies.