web-dev-qa-db-fra.com

Comment ajouter/récupérer le lien post-corbeille?

Je crée un plugin pour afficher toutes les publications de tous les types de publications personnalisées. C'est quelque chose comme dans edit.php, mais au lieu d'afficher un type d'article unique, j'aimerais afficher tous les articles d'une page sur plusieurs types d'articles personnalisés.

Je suis le tutoriel à ici pour créer le plugin et je l’ai fait. Cependant, il y a un problème maintenant, je veux ajouter le lien de la corbeille sous tous les messages listés (comme dans edit.php). Ce champ nécessite un nonce pour pouvoir s'exécuter, mais je ne pouvais pas comprendre comment cela fonctionnait.

Voici mes codes:

function column_post_title($item){
$actions = array(
        'edit' => sprintf('<a href="'.admin_url('post.php?post=%s&action=edit').'">Edit</a>',$item['ID']),//this part is fine
        'trash'=> sprintf('<a href="'.wp_nonce_url(admin_url().'post.php?post=%s&action=trash', 'trash-%s').'">Trash</a>',$item['ID'],$item['ID']),//here I cant get it right!!
    );
return sprintf('%1$s %2$s', $item['post_title'], $this->row_actions($actions) );
}

Dois-je créer mon propre nonce? Ou en utilisant l'existant (s'il en existe). À partir du code ci-dessus, il me donne une notification d'échec WordPress avec:

Es-tu sûr de vouloir faire ça? Veuillez réessayer.

3
dev-jim

Il suffit d'utiliser get_delete_post_link( $post_ID ) - il retournera l'URL absolue avec nonce et tout!

Juste pour être clair , le lien vers trash sera obtenu (si la corbeille est prise en charge). Si vous voulez ignorer la corbeille et obtenir le lien perma-delete, passer un second argument de true*.

http://codex.wordpress.org/Function_Reference/get_delete_post_link

Mise à jour: Après vérification de la source, il semble que le codex soit un peu obsolète. Le deuxième argument est obsolète, passez donc une chaîne vide et le troisième arg comme true:

get_delete_post_link( $post_ID, '', true );
5
TheDeadMedic