get_post_status( int|WP_Post $post = null )
Retourne le status d'un poste en se basant sur son id.
Description
Si l'id du poste est celui d'un attachement alors le status retourné sera celui du poste parent.
La fonction retournera l'un des status de poste suivant : 'publish', 'future', 'draft', 'pending' ou 'private'.
Paramètre
$post
(int | WP_Post) (Optionnel) Id ou objet du post. Par défaut la global $post.
Valeur par défaut : null
Retourne
(string | false) Le status du post si succès, false si échec.
Structure de la fonction get_post_status()
Définie dans le fichier wp-includes/post.php à la ligne 897 :
function get_post_status( $post = null ) {
$post = get_post( $post );
if ( ! is_object( $post ) ) {
return false;
}
if ( 'attachment' === $post->post_type ) {
if ( 'private' === $post->post_status ) {
return 'private';
}
// Unattached attachments are assumed to be published.
if ( ( 'inherit' === $post->post_status ) && ( 0 == $post->post_parent ) ) {
return 'publish';
}
// Inherit status from the parent.
if ( $post->post_parent && ( $post->ID != $post->post_parent ) ) {
$parent_post_status = get_post_status( $post->post_parent );
if ( 'trash' === $parent_post_status ) {
return get_post_meta( $post->post_parent, '_wp_trash_meta_status', true );
} else {
return $parent_post_status;
}
}
}
/**
* Filters the post status.
*
* @since 4.4.0
*
* @param string $post_status The post status.
* @param WP_Post $post The post object.
*/
return apply_filters( 'get_post_status', $post->post_status, $post );
}
Fonctions et Hook utilisés par get_post_status()
get_post_status
Filtre le status du poste.
apply_filters()
Appel les fonctions qui ont été attaché à un filtre (hook).
get_post_meta()
Retourne la valeur d'un champ de méta-donnée pour un id de poste donné.
get_post()
Retourne les données d'un poste en passant l'id ou l'objet d'un poste.
get_post_status()
Retourne le status d'un poste en se basant sur son id.
Où trouver la fonction get_post_status()
dans le CMS Wordpress
Exemple
Sources
Codex Wordpress : get_post_status()
Autres fonctions dans le même fichier : wp-includes/post.php