Настраиваемое Поле — Метазапрос Со Строкой, Начинающейся С Шаблона.

  • Автор темы manlock
  • Обновлено
  • 21, Oct 2024
  • #1

У меня есть собственный WP_Query со следующим мета_запросом:

 WHERE meta_value LIKE 'hello@%' 

Проблема в том, что WordPress оборачивает каждое метазначение в WHERE meta_value LIKE '%[email protected]%' to use as part of the LIKE сравнение в запросе, например %%

Можно ли настроить мета_запрос так, чтобы использовался только один знак процента, чтобы мы могли проверить, начинается ли значение с фразы или заканчивается ею? например $meta_query = array(); $meta_query['relation'] = 'AND'; if(!empty($postcode)) { $meta_query[] = array( 'key' => 'postcode', 'value' => $postcode, 'compare' => 'LIKE' ); } if(!empty($email)) { $meta_query[] = array( 'key' => 'email_address', 'value' => $email, 'compare' => 'LIKE' ); }

#wp-query #настраиваемое поле #мета-запрос

manlock


Рег
17 Apr, 2011

Тем
74

Постов
197

Баллов
587
  • 25, Oct 2024
  • #2

Вы могли бы попробовать

 
 
 Name        Description
------------------------------------------------------
NOT REGEXP  Negation of REGEXP
REGEXP      Pattern matching using regular expressions
RLIKE       Synonym for REGEXP
 
version:

'=', '!=', '>', '>=', '<', '<=', 'LIKE', 'NOT LIKE','IN', 'NOT IN', 'BETWEEN', 'NOT BETWEEN', 'NOT EXISTS', 'REGEXP', 'NOT REGEXP', 'RLIKE'

где compare matches the beginning of a string.

Вы можете проверить ссылку MYSQL на REGEXP здесь для получения дополнительной информации.

Обратите внимание, что это возможные значения мета ^ parameter:

'meta_query' => array( array( 'key' => 'email_address', 'value' => '^hello@', 'compare' => 'REGEXP', ) )

согласно WordPress 3.9.2 источник.

Из MySQL ссылка:

REGEXP
 

Паша старков


Рег
07 Apr, 2015

Тем
74

Постов
196

Баллов
606
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно