Estou tentando recuperar uma lista incluindo os tipos de postagem incorporados e personalizados:
$post_types = get_post_types(array(
'public' => TRUE,
), 'objects');
O exemplo acima quase funciona, mas eu gostaria de excluir attachment
desta lista, retornando apenas tipos de postagem com suporte específico, como editor
, title
e thumbnail
. Isso é possível?
custom-post-types
post-type-support
Cyclonecode
fonte
fonte
get_post_types()
aceita uma matriz de argumentos para corresponder aos campos de um objeto do tipo postagem . Então, você poderia fazer algo assim (não testado):Infelizmente, você não pode definir algo como "excluir" nesta função, e também obtém apenas tipos de post que suportam exatamente
'editor', 'title', 'thumbnail'
, nem mais nem menos.Ou você pode usar
get_post_types_by_support()
(apenas para o WP 4.5 e superior. Além disso, também não é possível excluir tipos de postagem específicos com essa função, mas, no caso específico de suporteeditor, title, thumbnail
, o tipo de postagem de anexo será excluído na maioria dos casos).Se você quiser algo que funcione em qualquer caso, eu tentaria obter tipos de postagem com base em critérios mais amplos e, em seguida, crie sua própria matriz, algo como isto:
fonte
supports
não parece funcionar? Eu tenho um tipo de postagem personalizado compatíveleditor
e, se eu usosupports => array('editor')
, recebo um resultado vazio? Você segunda abordagem parece funcionar embora.get_post_types_by_support()
suporte para conseguir isso.A abordagem mais simples para a pergunta do OP seria desabilitar o 'anexo' da matriz retornada;
Embora não seja tão elegante quanto as outras soluções, possui o mínimo de sobrecarga.
fonte