web-dev-qa-db-fra.com

Comment récupérer la capacité d'une publication personnalisée?

Lorsque vous enregistrez un type d'article personnalisé, vous pouvez spécifier sa capacité:

'capability_type' => 'page',

Y a-t-il moyen de récupérer le type de capacité dans une page (en fonction de l'objet post fourni)? Je ne le vois pas répertorié dans l'objet post. Mais peut-être y a-t-il un moyen de récupérer en passant le post_type?

Le but ultime est de déterminer si une publication doit être traitée comme une "page" ou une "publication" sur le front-end, ce qui me permettrait de charger différentes parties de modèle/code en fonction de ces informations.

1
gdaniel

La fonction get_post_type_object() accepte un nom de type de publication et renvoie l'objet de type de publication. Vous pouvez ensuite vérifier la propriété capability_type de cet objet.

Exemple:

$post     = get_post( $post_id );
$pto      = get_post_type_object( $post->post_type );
$cap_type = $pto->capability_type;
3
John Blackbourn