Ich versuche, eine Liste mit integrierten und benutzerdefinierten Beitragstypen abzurufen:
$post_types = get_post_types(array(
'public' => TRUE,
), 'objects');
Das obige funktioniert fast, aber ich möchte das attachment
von dieser Liste ausschließen und nur Post-Typen mit spezifischer Unterstützung wie editor
, title
und zurückgeben thumbnail
. Ist das möglich?
custom-post-types
post-type-support
Cyclonecode
quelle
quelle
get_post_types()
Akzeptiert ein Array von Argumenten, die mit den Feldern eines Post-Typ-Objekts übereinstimmen . Sie könnten also so etwas tun (nicht getestet):Leider können Sie in dieser Funktion nichts wie "ausschließen" festlegen, und Sie erhalten auch nur Beitragstypen, die genau unterstützen
'editor', 'title', 'thumbnail'
, nicht mehr und nicht weniger.Oder Sie können verwenden
get_post_types_by_support()
(nur für WP 4.5 und höher. Beachten Sie auch, dass Sie mit dieser Funktion auch bestimmte Beitragstypen nicht ausschließen können, aber für den speziellen Fall der Unterstützung füreditor, title, thumbnail
wird der Beitragstyp für Anhänge in den meisten Fällen ausgeschlossen).Wenn Sie etwas wollen, das auf jeden Fall funktioniert, würde ich versuchen, Post-Typen basierend auf breiteren Kriterien zu erhalten, und dann Ihr eigenes Array erstellen, ungefähr so:
quelle
supports
scheint nicht zu funktionieren? Ich habe einen benutzerdefinierten Beitragstyp, der unterstützt,editor
und wenn ich ihn verwende,supports => array('editor')
erhalte ich ein leeres Ergebnis. Ihr zweiter Ansatz scheint jedoch zu funktionieren.get_post_types_by_support()
Unterstützung gebrauchen, um dies zu erreichen.Der einfachste Ansatz für die Frage des OP wäre, einfach "Anhang" aus dem zurückgegebenen Array zu entfernen.
Es ist zwar nicht so elegant wie die anderen Lösungen, hat aber den geringsten Overhead.
quelle