Les articles dans WordPress peuvent avoir l’un d’un certain nombre de statuts. Le statut d’un article donné détermine la manière dont WordPress gère cet article. Par exemple, les articles publics visibles par tous se voient attribuer le statut publish, tandis que les brouillons se voient attribuer le statut draft. Le statut est stocké dans le champ post_status de la table wp_posts.
WordPress fournit 8 statuts intégrés que vous pouvez utiliser. WordPress 3.0 vous a donné la possibilité d’ajouter votre propre statut d’article personnalisé et de l’utiliser de différentes manières.
Flux de travail
WordPress fournit des fonctionnalités intégrées qui permettent à certains utilisateurs (en fonction de leurs rôles et capacités) de vérifier le contenu soumis au site web avant sa publication. On appelle généralement cela le “flux de travail”. Les fonctionnalités de flux de travail de WordPress reposent sur la valeur du champ post_status d’un article pour savoir à quelle étape du processus de flux de travail l’article se trouve actuellement.
La plupart des utilisateurs connaissent déjà au moins deux états du flux de travail :
- Les articles qui sont publiés et visibles par tous (y compris les utilisateurs qui ne sont pas connectés) reçoivent le
publishstatut. - Les brouillons qui ne sont pas encore publiés se voient attribuer le
draftstatut.
En interne, WordPress définit le statut de l’article sur publish lorsque vous cliquez sur le bouton “Publier”, et WordPress définit le statut de l’article sur draft lorsque vous cliquez sur le bouton “Enregistrer le brouillon”. De même, si votre site web compte des utilisateurs auxquels la edit_posts capacité a été accordée, mais pas la publish_posts capacité, alors lorsque ces utilisateurs commencent à rédiger un nouvel article, WordPress affiche un bouton “Soumettre pour révision” au lieu d’un bouton “Publier”. De même, WordPress attribue alors à l’article créé par cet utilisateur le pending statut lorsque celui-ci appuie sur ce bouton.
Le statut d’un article peut également être défini dans l’écran d’administration et l’écran Ajouter de nouveaux articles par tout utilisateur disposant de la capacité nécessaire pour attribuer l’article au statut donné. En interne, tous ces articles sont stockés au même endroit (la table wp_posts) et sont différenciés par une colonne appelée post_status.
Statuts par défaut
WordPress utilise par défaut 8 statuts principaux pour les articles.
Publier
Visible par tous. (publish)
À venir
Programmé pour être publié à une date ultérieure. (future)
Brouillon
Article incomplet visible par toute personne disposant du rôle utilisateur approprié. (draft)
En attente
En attente d’un utilisateur disposant de la capacité publish_posts (généralement un utilisateur auquel le rôle d’Éditeur a été attribué) pour publier. (pending)
Privé
Visible uniquement par les utilisateurs WordPress ayant le niveau Administrateur. (private)
Corbeille
Les articles placés dans la corbeille se voient attribuer le statut trash. (trash)
Brouillon automatique
Révisions que WordPress enregistre automatiquement pendant que vous modifiez un article. (auto-draft)
Hérité
Utilisé avec un article enfant (tel que les pièces jointes et les révisions) afin de déterminer le statut réel à partir de l’article parent. (inherit)
Statut personnalisé
AVIS :
Cette fonction n’ajoute PAS le statut d’article enregistré à l’écran d’administration. Cette fonctionnalité est prévue pour un développement ultérieur. Veuillez consulter le ticket Trac n° 12706.
Envisagez le hook d’action post_submitbox_misc_actions pour ajouter ce paramètre.
Un statut personnalisé est un statut d’article que vous définissez.
L’ajout d’un statut personnalisé à WordPress s’effectue via la fonction register_post_status(). Cette fonction vous permet de définir le statut de l’article et son fonctionnement dans WordPress.
Voici un exemple simple d’ajout d’un statut d’article personnalisé appelé “Non lu” :
function custom_post_status(){
register_post_status( 'unread', array(
'label' => _x( 'Non lu', 'post' ),
'public' => true,
'exclude_from_search' => false,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'label_count' => _n_noop( 'Non lu (%s)', 'Non lu (%s)' ),
) );
}
add_action( 'init', 'custom_post_status' );
Ressources
Connexe
Documentation du code
- Fonction : get_post_status() – Récupère le statut de l’article en fonction de son identifiant.