web-dev-qa-db-fra.com

Type de message personnalisé: vérifier les autorisations et valider le nonce

J'ai un type de message personnalisé avec les fonctionnalités suivantes:

$capabilities = array(
    'read_post' => 'administrator',
    'read_private_posts' => 'administrator',
    'publish_posts' => 'administrator',
    'edit_post' => 'administrator',
    'edit_posts' => 'administrator',
    'edit_published_posts' => 'administrator',
    'edit_others_posts' => 'administrator',
    'edit_private_posts' => 'administrator',
    'delete_post' => 'administrator',
    'delete_posts' => 'administrator',
    'delete_published_posts' => 'administrator',
    'delete_others_posts' => 'administrator',
    'delete_private_posts' => 'administrator'
);

Dois-je quand même utiliser quelque chose comme current_user_can() lors de l'enregistrement (via save_post) pour valider si cet utilisateur dispose des autorisations lui permettant d'ajouter ou de modifier un message, ou bien la configuration des fonctionnalités s'en charge-t-elle?

Puisqu'il ne s'agit pas d'une page personnalisée dans Wordpress, mais plutôt d'un type de publication personnalisé, dois-je vérifier le nonce ou est-ce intégré dans l'utilisation d'un type de publication personnalisé? Je dois noter que je n'utilise aucun champ Wordpress (tel que le titre, le corps, etc.) dans ce type d'article. Une paire de champs a été ajoutée à l'aide de add_meta_box().

1
NightHawk

Lorsque vous utilisez save_post, vous ajoutez/mettez à jour les données saisies par l'utilisateur à partir d'un metabox dans la base de données. Quand faire cela, vous devriez vérifier que le nonce de votre metabox est valide.

Vous devez également vérifier les autorisations car save_post est déclenché dans wp_insert_post(), et pas seulement lorsque vous créez/modifiez un post-administrateur.

1
Stephen Harris