J'aimerais obtenir une liste (tableau) de tous les types de publication que j'ai enregistrés.
Justement, j'aimerais récupérer leurs limaces.
Quelqu'un pourrait-il m'aider? Merci!
La réponse de @ EAMann est correcte, mais il existe déjà une fonction de compilation dans WordPress permettant de récupérer tous les types de publication enregistrés: get_post_types
<?php
// hook into init late, so everything is registered
// you can also use get_post_types where ever. Any time after init is usually fine.
add_action( 'init', 'wpse34410_init', 0, 99 );
function wpse34410_init()
{
$types = get_post_types( [], 'objects' );
foreach ( $types as $type ) {
if ( isset( $type->rewrite->slug ) ) {
// you'll probably want to do something else.
echo $type->rewrite->slug;
}
}
}
Lorsque vous appelez register_post_type()
, il ajoute votre nouveau type de publication à une variable globale appelée $wp_post_types
. Ainsi, vous pouvez obtenir une liste de tous vos types de publication à partir de cela:
function get_registered_post_types() {
global $wp_post_types;
return array_keys( $wp_post_types );
}
La variable $wp_post_types
est un tableau contenant vos définitions CPT, avec chaque ensemble d'arguments CPT (étiquettes, capacités, etc.) mappés sur le slug du CPT. En appelant array_keys()
, vous obtiendrez un tableau des slug de vos CPT.