J'essaie de récupérer une liste comprenant à la fois les types de publication intégrés et personnalisés:
$post_types = get_post_types(array(
'public' => TRUE,
), 'objects');
Ce qui précède fonctionne presque, mais je voudrais exclure le attachment
de cette liste, ne renvoyant que les types de messages avec un support spécifique tels que editor
, title
et thumbnail
. Est-ce possible?
la source
get_post_types()
accepte un tableau d'arguments pour correspondre aux champs d'un objet de type post . Donc, vous pouvez faire quelque chose comme ça (non testé):Malheureusement, vous ne pouvez pas définir quelque chose comme "exclure" dans cette fonction, et vous n'obtenez que des types de messages qui prennent en charge exactement
'editor', 'title', 'thumbnail'
, ni plus ni moins.Ou vous pouvez utiliser
get_post_types_by_support()
(uniquement pour WP 4.5 et supérieur. Notez également que vous ne pouvez pas non plus exclure des types de publication spécifiques avec cette fonction, mais pour le cas spécifique de prise en charge deeditor, title, thumbnail
, le type de publication de pièce jointe sera exclu dans la plupart des cas).Si vous voulez quelque chose qui fonctionnera dans tous les cas, j'essaierais d'obtenir des types de publication basés sur des critères plus larges, puis de créer votre propre tableau, quelque chose comme ceci:
la source
supports
ne semble pas fonctionner? J'ai un type de publication personnalisé qui prend en chargeeditor
et si j'utilisesupports => array('editor')
j'obtiens un résultat vide? Votre deuxième approche semble fonctionner.get_post_types_by_support()
support pour y parvenir.L'approche la plus simple pour la question de l'OP serait de simplement annuler la «connexion» du tableau renvoyé;
Bien qu'il ne soit pas aussi élégant que les autres solutions, il a le moins de frais généraux.
la source