Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2023, 17:26   #1
Sega1821
Новичок
Джуниор
 
Регистрация: 03.01.2023
Сообщений: 1
Печаль Поиск по сайту

Добрый день. Есть поиск на wordpress. В данный момент ищет по заголовкам, тексту и произвольным полям. Подскажите пожалуйста, как отключить поиск по тексту?

Код:
add_filter( 'get_search_form', 'my_search_form' );
function my_search_form( $form ) {
$form = '
<form role="search" method="get" id="searchform" action="' . home_url( '/' ) . '" >
<img src="/wp-content/uploads/poisk.svg"><span class="chert"></span>
<input type="text" placeholder="Поиск:" value="' . get_search_query() . '" name="s" id="s" />


<input type="submit" id="searchsubmit" value="Найти" />
</form>';
	return $form;
}


/* Поиск по произвольным полям */
function cf_search_join( $join ) {
    global $wpdb;
 
    if ( is_search() ) {    
        $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '.ID = ' . $wpdb->postmeta . '.post_id ';
    } 
    return $join;
}
add_filter('posts_join', 'cf_search_join' );

function cf_search_where( $where ) {
    global $pagenow, $wpdb;
 
    if ( is_search() ) {
        $where = preg_replace(
            "/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
            "(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where );
    }
    return $where;
}
add_filter( 'posts_where', 'cf_search_where' );
 
function cf_search_distinct( $where ) {
    global $wpdb;
    if ( is_search() ) {
        return "DISTINCT";
    }
    return $where;
}
add_filter( 'posts_distinct', 'cf_search_distinct' );
/* Поиск по произвольным полям */
Sega1821 вне форума Ответить с цитированием
Старый 05.01.2023, 16:23   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

вы привели пример плагина для поиска по дополнительным полям....

поиск по основным полям
Цитата:
по заголовкам, тексту
реализован в другом месте
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск по сайту..... Evgen88 JavaScript, Ajax 0 04.04.2013 17:20
Поиск по сайту! Марат05 HTML и CSS 4 20.12.2010 19:49
Поиск по сайту Linel PHP 2 15.06.2009 11:18
поиск по сайту ара PHP 4 07.04.2009 19:16