¿Acciones de fila para tipos de publicación personalizados?

16

Estoy trabajando en un complemento, que convierte un sitio en un tipo de portal de comentarios. Hice una nueva página de objeto, 'Comentarios', que muestra todos los comentarios en formato tabular, y estoy usando register_column_headers($array_of_column_headers)para hacer mi tabla. Quería saber si es posible agregar mis propias acciones de fila de página a esta tabla, es decir, debajo de cada comentario en la lista, acciones como 'aprobar', 'eliminar', 'lista negra', etc.

Leí el código y un par de tickets, y descubrí que se hace de esta manera: para publicaciones post_row_actions, para comentarios comment_row_actions, para medios, media_row_actionsetc. ¿Hay algún filtro que me permita hacer my-page-slug_row_actions?

Rutwick Gangurde
fuente

Respuestas:

19

Cuando usa un tipo de publicación personalizado, usa el post_row_actionsgancho de filtro y verifica el tipo de publicación para modificarlo solo:

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

Actualización rápida:

gracias a somática si es de tipo personalizado posterior "jerárquica", entonces gancho de acción es: page_row_actions.

Bainternet
fuente
¿ $postTiene alcance? pista pista ;)
t31os
@ t310s Corregido @Bainternet espero que no te importe)
kaiser
2
@kaiser: ¡Y mejoró tu solución!
Jan Fabry
Hola, ya usé 'post_row_actions' para agregar un enlace en las filas de publicaciones personalizadas. Pero quiero hacerlo para mi página de menú, que se agrega usando el enlace 'add_object_page' (que es similar a '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") Me preguntaba si podría hacer, 'feedbacks-menu_row_actions (...)' (al igual que se hace para otras páginas como 'Publicaciones', 'Comentarios', etc., usando el slug de página con acciones de fila).
Rutwick Gangurde
66
para aquellos de ustedes que se golpean la cabeza en su escritorio preguntándose por qué este código parece no hacer nada con su tipo de publicación personalizada, tenga en cuenta: si su CPT es "jerárquico", entonces su gancho de filtro es "page_row_actions"y NO "post_row_actions" [cabeza de fricción]
somático