Ich möchte bestimmte Beiträge mit einem benutzerdefinierten Feld ausschließen. Also wenn my_custom_field_ignore
isset UND 1
ignoriere diesen Beitrag. Wenn es nicht eingestellt ist, schließen Sie es ein.
Das habe ich
$args = array(
'post_type' => $post_type,
'offset' => $offset,
'meta_query' => array(
array(
'key' => 'my_custom_field_ignore',
'value' => '1',
'compare' => '!=',
)
)
);
Dies funktioniert nur für Posts, bei denen das my_custom_field_ignore
auf etwas anderes als eingestellt ist1
Wie kann ich alle Beiträge einschließen (natürlich nicht die mit my_custom_field_ignore = 1
)?
Bearbeiten:
So funktioniert es unter WP 3.5+
'meta_query' => array(
array(
'key' => 'my_custom_field_ignore',
'compare' => 'NOT EXISTS',
)
)
Diese einfache Suche nach dem Erscheinungsbild des my_custom_field_ignore
Werts wird ignoriert. Während dies in erster Linie Anwender arbeiten könnte möglicherweise verwirrt, wenn sie geändert 1
zu 0
und erwarten , einbezogen werden.
Scheint, dass 3.3 und 3.4 eine bedingte Prüfung benötigen.
Bearbeiten 2
Scheint, dass die überprüfte Antwort den Trick macht (zumindest für 3.5+). Aus irgendeinem Grund wird der allererste Beitrag "Hallo Welt" ignoriert. Nach dem Hinzufügen my_custom_field_ignore
und Entfernen funktioniert es
quelle
NOT EXISTS
laut Codex nur für WP 3.5+ unterstützt wird.Sie müssen die Serialisierungsfunktion verwenden, wenn Sie Ganzzahlen verwenden:
und du bist bereit,
und sehen Sie die Ergebnisse
quelle