Ações de linha para tipos de postagem personalizados?

16

Estou trabalhando em um plug-in, que converte um site em um tipo de portal de feedback. Criei uma nova página de objeto, 'Feedbacks', que exibe todos os feedbacks em formato de tabela e estou usando register_column_headers($array_of_column_headers)para fazer minha tabela. Eu queria saber se é possível adicionar minhas próprias ações de linha de página a esta tabela, ou seja, sob todos os comentários da lista, ações como 'aprovar', 'excluir', 'lista negra' etc.

Eu li o código e alguns tickets e descobri que é feito dessa maneira: para posts, seus post_row_actionscomentários comment_row_actions, suas mídias media_row_actionse assim por diante. Existe um filtro que me permita fazer my-page-slug_row_actions?

Rutwick Gangurde
fonte

Respostas:

19

Ao usar o tipo de postagem personalizado, use o post_row_actionsgancho de filtro e verifique o tipo de postagem para modificá-lo apenas:

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;
}

Rápida atualização:

graças a somática se você tipo personalizado post é "hierárquico", então você ação gancho é: page_row_actions.

Bainternet
fonte
Tem $postescopo? hint hint ;)
t31os 18/04
@ t310s fixos @Bainternet espero que você não se importa,)
kaiser
2
@kaiser: E melhorou sua correção!
Jan Fabry
Olá, eu já usei 'post_row_actions' para adicionar um link nas linhas de postagens personalizadas. Mas eu quero fazer isso na minha página de menu, que é adicionada usando o gancho 'add_object_page' (que é semelhante ao 'add_menu_page'). add_object_page("Feedbacks", "Feedbacks", 10, "feedbacks-menu", "FeedbackMenuFunction"); add_submenu_page("feedbacks-menu", "Pending Feedbacks", "Pending", 10, "pending-feedbacks-menu", "PendingFeedbackMenuFunction") Eu queria saber se eu poderia fazer, 'feedbacks-menu_row_actions (...)' (assim como é feito para outras páginas como 'Posts', 'Comentários' etc. usando o slug da página com ações de linha).
Rutwick Gangurde
6
para aqueles que batem a cabeça na mesa, perguntando-se por que esse código parece não fazer nada com o seu tipo de postagem personalizado, observe: se o seu CPT é "hierárquico", seu gancho de filtro é "page_row_actions"e NÃO "post_row_actions" [esfrega a cabeça]
somático