Можно выполнить поиск по имени автора с помощью функции поиска по умолчанию WordPress?

Я понимаю, что функция поиска WordPress - это огромная возможность червей, но ТОЛЬКО дополнительная вещь, которую мне нужно, это показать результаты при поиске имени автора.

Например, если у нас есть автор по имени Кэти Джонсон, и я ищу Кэти, я получаю результаты, когда ее имя указано в СОДЕРЖАНИИ, но не результаты, которые она ОТКАЗАЛА.

Это кажется простой проблемой, и все же я еще не нашел для нее решения.

Спасибо.

7 голосов | спросил zack 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 27 Sep 2011 02:12:11 +0400 2011, 02:12:11

1 ответ


6

Возможно, вы можете попробовать добавить свое условие непосредственно в строку запроса, используя что-то вроде этого

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');
ответил hacksy 27 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 27 Sep 2011 03:14:41 +0400 2011, 03:14:41

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132