Acciones de fila para tipos de contenido personalizados

18 abr 2011, 07:36:16
Vistas: 20.5K
Votos: 20

Estoy trabajando en un plugin que convierte un sitio en un portal de retroalimentación. Creé una nueva página de objeto, 'Feedbacks', que muestra todos los comentarios en formato tabular, y estoy usando register_column_headers($array_of_column_headers) para crear mi tabla. Quisiera saber si es posible añadir mis propias acciones de fila a esta tabla, es decir, bajo cada comentario en la lista, acciones como 'aprobar', 'eliminar', 'lista negra', etc.

Leí el código y algunos tickets, y descubrí que se hace de esta manera: para entradas es post_row_actions, para comentarios es comment_row_actions, para medios es media_row_actions y así sucesivamente. ¿Existe un filtro que me permita hacer algo como my-page-slug_row_actions?

0
Todas las respuestas a la pregunta 1
8
26

Cuando usas un tipo de entrada personalizado (custom post type), utilizas el hook de filtro post_row_actions y verificas el tipo de entrada para modificarlo solo:

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

function my_action_row($actions, $post){
    //verifica tu tipo de entrada
    if ($post->post_type =="feedbacks"){
        /*haz lo que necesites aquí
        puedes usar unset para eliminar acciones
        y para añadir acciones ej:
        $actions['in_google'] = '<a href="http://www.google.com/?q='.get_permalink($post->ID).'">verificar si está indexado</a>';
        */
    }
    return $actions;
}

Actualización rápida:

Gracias a somatic si tu tipo de entrada personalizado es "jerárquico" entonces tu hook de acción es: page_row_actions.

18 abr 2011 09:28:21
Comentarios

¿Tiene $post un alcance? pista pista ;)

t31os t31os
18 abr 2011 14:38:11

@t310s Corregido @Bainternet espero que no te moleste ,)

kaiser kaiser
18 abr 2011 15:37:23

@kaiser: ¡Y mejoré tu corrección!

Jan Fabry Jan Fabry
18 abr 2011 16:31:20

Hola, ya utilicé '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 hook '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(...)' (como se hace para otras páginas como 'Posts', 'Comments' etc. usando el slug de la página con row actions).

Rutwick Gangurde Rutwick Gangurde
18 abr 2011 18:31:41

¿Es Feedback un tipo de publicación personalizada? Si es así, lee mi respuesta nuevamente.

Bainternet Bainternet
18 abr 2011 23:41:03

¡No! 'Feedback' es un comentario sobre una publicación personalizada, junto con muchos metadatos para ese comentario. Estoy construyendo una sección completamente nueva con todos estos 'Feedbacks' listados en un solo lugar, desde donde el usuario puede previsualizarlos, aprobarlos, desaprobarlos y eliminarlos. Es similar a la página de 'Comentarios', pero diseñada personalmente solo para mostrar 'Feedbacks'.

Y descubrí cómo agregar row_actions a estas filas. Es solo el marcado, <td><div class='row-actions'><span class='edit'><a...>Tu Enlace</a></span></div></td>. ¡WP agrega el CSS y jQuery y tienes el menú de acciones listo!

Rutwick Gangurde Rutwick Gangurde
19 abr 2011 20:55:31

para aquellos que se están golpeando la cabeza contra el escritorio preguntándose por qué este código parece no hacer nada con su tipo de publicación personalizado, nota: si tu CPT es "jerárquico", entonces tu hook de filtro es "page_row_actions" y NO "post_row_actions"

[se frota la cabeza]

somatic somatic
5 may 2011 08:22:04

Había probado page_row_actions con el slug de mi página de menú personalizado, pero no funciona, o tal vez me faltó algo. Pero revisé el código de un plugin premium muy famoso que añade acciones personalizadas a las filas de páginas, y vi que están añadiendo el marcado directamente a la tabla. Hice lo mismo y funciona perfectamente.

Rutwick Gangurde Rutwick Gangurde
6 may 2011 18:53:37
Mostrar los 3 comentarios restantes