web-dev-qa-db-fra.com

Comment obtenir le nom actuel de get_post_types?

Comment puis-je obtenir le nom du type de message personnalisé actuel et le renvoyer sur une page?

6
Casper

Vous aurez besoin d'une certaine manière de l'objet post ou, éventuellement, de l'objet interrogé dans les archives de type post. Sur une page singulière, vous pourriez faire:

$post = get_queried_object();
$postType = get_post_type_object(get_post_type($post));
if ($postType) {
    echo esc_html($postType->labels->singular_name);
}

Ou dans la boucle:

$postType = get_post_type_object(get_post_type());
if ($postType) {
    echo esc_html($postType->labels->singular_name);
}

En archives de type post:

$postType = get_queried_object();
echo esc_html($postType->labels->singular_name);

Tous ces éléments vous donneront le nom singulier du type de message qui a été enregistré dans la clé labels de register_post_type.

17
chrisguitarguy

Pour obtenir le nom du type de publication en cours, utilisez le code suivant dans la boucle.

$post_type = get_post_type( get_the_ID() );
echo '<p>' . $post_type . '</p>';

ou affichez le nom du type de poste à l'aide de la fonction printf.

printf( __( 'The post type is: %s', 'textdomain' ), get_post_type( get_the_ID() ) );
3
Aamer Shahzad