Ich verwende WordPress, um einige Inhalte mit ein paar Einschränkungen zu suchen. Jedes Mal, wenn ich einen Beitrag speichere, speichere ich in meta ein entsprechendes Posts-Array.Suche mit Meta-Abfrage in WordPress
Dann versuche ich alle Beiträge zu suchen, die einen bestimmten Beitrag als verwandt haben, habe ich die folgende Abfrage. Der ausgewählte Beitrag ist eine ID zu dem gesuchten Post.
Ich überprüfte $selected_post
und es hat Werte wie die folgende.
$selected_post = "25";
Ich habe die Meta-Wert die folgende Anweisung verwenden, ich bin mit update_post_meta
. $related_posts
enthält ein Array von Post-IDs, wie im folgenden Beispiel.
update_post_meta($post->ID, 'related_post', $related_posts);
Abfrage
$arg = array(
'post_type' => 'post',
'posts_per_page' => 5,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'related_post',
'value' => array($selected_post),
'compare' => 'IN',
'type' => 'STRING'
),
),
);
geprüft ich diese Meta in einigen meiner aktuellen Beiträge, und ich habe so etwas wie dieses.
'related_post' => array('15', '25', '46');
Wenn ich diese Abfrage ausführen WP_Query
mit es gibt immer mir ein leeres Array. Ich denke, ich brauche etwas mehr in der Abfrage, damit dies funktioniert.
Jede Hilfe wäre willkommen.
Ihr Code ist in Ordnung - Sie sollten nicht '' relation '=>' OR'' da haben, da Sie nur eine Bedingung in Ihrer Meta-Abfrage haben, aber es sollte trotzdem funktionieren. Es muss also mit den Daten selbst zu tun haben. Haben Sie bestätigt, dass '$ selected_post' einen gültigen Einzelwert hat? Wie fügen Sie 'related_post' hinzu (z. B. benutzerdefiniertes Feld. Verwenden Sie add_post_meta. ACF) und welches Format ist das? Wenn Sie nur einen einzelnen Wert abfragen, warum nicht '=' anstelle von 'IN' verwenden? – FluffyKitten
@FluffyKitten Vor allem, vielen Dank für den Kommentar. Ja, ich habe überprüft, dass '$ selected_post' einen einzelnen Wert hat. Ich werde meine Frage aktualisieren und Ihnen die Informationen geben, nach denen Sie fragen. Ich frage, ob mein '$ selected_post' im Array von verwandten_posts ist, es ist kein einzelner Wert. –