Intereting Posts
Обновить заголовок каждого экземпляра виджета с помощью текстового поля Пропустить список категорий для JS получить сообщение meta query, возвращая последнее сообщение, если мета-ключ не найден Только члены Passthrough Попытка создать иерархию между 3-4 пользовательскими типами сообщений Пользовательский SQL-запрос для получения списка сообщений с отображаемым URL-адресом изображения WP REST API v2. фильтры не работают Каков наилучший способ добавить тег расширенного / промежуточного / начального к сообщению Добавить размер изображения для избранного изображения с адаптивным дизайном Вход / Регистрация перенаправления пользователя с сообщением как сделать дополнительные параметры цвета добавлены в цветной настройщик по умолчанию сохранить их значение Форматирование содержимого сообщения для исключения галереи Уведомление PHPlist и новых сообщений? Изменить порт wordpress Как удалить условия включения плагина?

Ограничить поиск WordPress в пользовательское поле

Я стараюсь, чтобы поиск WordPress в одном настраиваемом поле, и никаких других текстовых сообщений или атрибутов. Сайт имеет очень специфическую функцию, которая заключается в том, чтобы возвращать сообщения, имеющие точное соответствие по первой букве (-ам) почтового индекса Великобритании в пользовательском поле. Других поисков не требуется.

Таким образом, каждый пост представляет собой инжиниринговую компанию, у которой есть множество британских почтовых индексов, установленных против нее. Когда пользователь сайта ищет определенный почтовый индекс, он должен возвращать все сообщения с этим кодом.

Я использую плагин Advanced Custom Fields

Я пробовал этот код в моей дочерней теме functions.php

function __search_by_postcode_only( $search, &$wp_query ) { global $wpdb; if ( empty( $search ) ) return $search; // skip processing - no search term in query $q = $wp_query->query_vars; $n = ! empty( $q['exact'] ) ? '' : '%'; $search = $searchand = ''; foreach ( (array) $q['search_terms'] as $term ) { $term = esc_sql( like_escape( $term ) ); $search .= "{$searchand}($wpdb->posts.search_post_code LIKE '{$n} {$term}{$n}')"; $searchand = ' AND '; } if ( ! empty( $search ) ) { $search = " AND ({$search}) "; if ( ! is_user_logged_in() ) $search .= " AND ($wpdb->posts.post_password = '') "; } return $search; } add_filter( 'posts_search', '__search_by_postcode_only', 500, 2 ); 

Где search_post_code – это настраиваемое поле, которое может иметь несколько значений.

Я пробовал другие расширенные поисковые плагины, но все они, похоже, также ищут заголовок и пост.

Любая помощь оценивается.

благодаря

Solutions Collecting From Web of "Ограничить поиск WordPress в пользовательское поле"