web-dev-qa-db-fra.com

Actions de ligne pour les types de publication personnalisés?

Je travaille sur un plugin, qui convertit un site en une sorte de portail de commentaires. J'ai créé une nouvelle page d'objet, 'Feedbacks', qui affiche tous les retours sous forme de tableau, et j'utilise register_column_headers($array_of_column_headers) pour créer mon tableau. Je voulais savoir s’il était possible d’ajouter mes propres actions de rangée de page à ce tableau, je veux dire sous chaque retour d’expérience de la liste, des actions comme "approuver", "supprimer", "liste noire", etc.

J'ai lu le code et quelques tickets, et j'ai découvert que c'était fait ainsi: pour les articles, son post_row_actions, pour les commentaires, son comment_row_actions, pour les médias, son media_row_actions, etc. Existe-t-il un filtre qui me permet de faire, my-page-slug_row_actions?

15
Rutwick Gangurde

Lorsque vous utilisez un type de publication personnalisé, utilisez le crochet de filtre post_row_actions et cochez le type de publication pour le modifier uniquement:

add_filter('post_row_actions','my_action_row', 10, 2);

function my_action_row($actions, $post){
    //check for your post type
    if ($post->post_type =="feedbacks"){
        /*do you stuff here
        you can unset to remove actions
        and to add actions ex:
        $actions['in_google'] = '<a href="http://www.google.com/?q='.get_permalink($post->ID).'">check if indexed</a>';
        */
    }
    return $actions;
}

Mise à jour rapide:

grâce à somatic si votre type de message personnalisé est "hiérarchique", votre action est donc: page_row_actions.

18
Bainternet