it-swarm.com.de

Möglich, nach Autorennamen mit Standard-WordPress-Suchfunktion zu suchen?

Ich erkenne, dass die Verbesserung der Suchfunktion von WordPress eine riesige Dose Würmer ist, aber das einzige, was ich tun muss, ist, Ergebnisse anzuzeigen, wenn ich nach dem Namen eines Autors suche.

Wenn wir zum Beispiel eine Autorin namens Katie Johnson haben und ich nach Katie suche, erhalte ich Ergebnisse, bei denen ihr Name im INHALT aufgeführt ist, aber keine Ergebnisse, die sie veröffentlicht hat.

Dies scheint ein einfaches Problem zu sein, und dennoch habe ich noch keine Lösung dafür gefunden.

Vielen Dank.

7
zack

Vielleicht können Sie versuchen, Ihre Bedingung direkt in die Abfragezeichenfolge einzufügen

function wpse_29570_where_filter($where){
        global $wpdb;
        if( is_search() ) {
            $search= get_query_var('s');
            $query=$wpdb->prepare("SELECT user_id  FROM $wpdb->usermeta WHERE ( meta_key='first_name' AND meta_value LIKE '%%%s%%' ) or ( meta_key='last_name' AND meta_value LIKE '%%%s%%' )", $search ,$search);
            $authorID= $wpdb->get_var( $query );

            if($authorID){
                $where = "  AND  ( wp_posts.post_author = {$authorID} ) ";
            }

         }
         return $where;
    }

    add_filter('posts_where','wpse_29570_where_filter');
6
hacksy