Wie benutzt man MySQL MATAINST in WP_Query?

Ich versuche, einen benutzerdefinierten Post-Typ mit einer WP_Query wie folgt zu suchen:

 $searchTerm = '%my book%'; $args = array( 'post_type' => 'books', 'meta_query' = array( 'relation' => 'OR', array( 'key' => 'book_title', 'value' => $searchTerm, 'compare' => 'LIKE' ), array( 'key' => 'book_description', 'value' => $searchTerm, 'compare' => 'LIKE' ) ); ); $query = new WP_Query($args); 

Die obige Abfrage funktioniert gut. In der Tat kann ich den compare für jeden der von mysql unterstützten Operatoren wie:

 =, \>=, , <, LIKE, RLIKE, BETWEEN 

Ich bin jedoch nicht in der Lage herauszufinden, wie man den Operator MATCH AGAINST . In MySQL funktioniert das so:

 select * from wp_postmeta where meta_key = 'book_title' and match(meta_value) against ('my book'); 

Aber ich kann nicht mit WP_Query einen Weg finden, es zu WP_Query , danke im Voraus.

Solutions Collecting From Web of "Wie benutzt man MySQL MATAINST in WP_Query?"

Soweit ich weiß, können Sie MATCH()... AGAINST WP_Query in WP_Query . Die möglichen Werte für den Vergleich sind die folgenden:

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

Was ist der Standardwert = . Sie können jedoch MATCH() AGAINST in einer generischen Abfrage verwenden, um $wpdb . Beispielsweise:

 $wpdb->prepare(" AND MATCH($wpdb->posts.post_title, $wpdb->posts.post_content) AGAINST(%s)", $search ); 

Es gibt auch einige __not_in Parameter, die Sie in Ihrer Abfrage verwenden können, z.

 $query = new WP_Query( array( 'tag__not_in' => array( 1, 2, 3 ) ) ); 

Welche werden die Beiträge durchsuchen, die nicht die Tag-IDs 1, 2 und 3 haben.

Dieses Codex-Seiten- und Core-Ticket kann Ihnen möglicherweise helfen.