Azioni di riga per i tipi di post personalizzati?
Sto lavorando su un plugin che converte un sito in una specie di portale di feedback. Ho creato una nuova pagina oggetto, 'Feedbacks', che visualizza tutti i feedback in formato tabellare, e sto usando register_column_headers($array_of_column_headers)
per creare la mia tabella. Vorrei sapere se è possibile aggiungere le mie azioni di riga personalizzate a questa tabella, intendo sotto ogni feedback nella lista, azioni come 'approva', 'elimina', 'lista nera' ecc.
Ho letto il codice e un paio di ticket, e ho scoperto che viene fatto in questo modo: per i post è post_row_actions
, per i commenti è comment_row_actions
, per i media è media_row_actions
e così via. Esiste un filtro che mi permette di fare my-page-slug_row_actions
?

Quando utilizzi un custom post type (tipo di contenuto personalizzato) puoi usare il filtro post_row_actions
e verificare il post type per modificarlo solo in quel caso:
add_filter('post_row_actions','my_action_row', 10, 2);
function my_action_row($actions, $post){
//verifica il tuo post type
if ($post->post_type =="feedbacks"){
/*fai le tue operazioni qui
puoi rimuovere le azioni con unset
e aggiungere azioni es:
$actions['in_google'] = '<a href="http://www.google.com/?q='.get_permalink($post->ID).'">verifica se indicizzato</a>';
*/
}
return $actions;
}
Aggiornamento rapido:
grazie a somatic
se il tuo custom post type è "gerarchico" (hierarchical) allora l'hook da usare è:
page_row_actions
.

La variabile $post
ha un ambito di visibilità? suggerimento suggerimento ;)

Ciao, ho già utilizzato 'post_row_actions' per aggiungere un link nelle righe dei post personalizzati. Ma ora vorrei farlo per la mia pagina del menu, che viene aggiunta usando l'hook 'add_object_page' (che è simile 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")
Mi chiedevo se potessi fare, 'feedbacks-menu_row_actions(...)' (proprio come viene fatto per altre pagine come 'Posts', 'Comments' ecc. usando lo slug della pagina con le row actions).

No! 'Feedback' è un commento su un custom post, insieme a un sacco di metadati per quel commento! Sto costruendo una sezione completamente nuova con tutti questi 'Feedback' elencati in un unico posto, da dove l'utente può visualizzarli in anteprima, approvarli e disapprovarli, eliminarli. È simile alla pagina 'Comments', ma progettata su misura solo per mostrare i 'Feedback'.
E ho scoperto come aggiungere le row_actions a queste righe. È solo il markup, <td><div class='row-actions'><span class='edit'><a...>Your Link</a></span></div></td>
. WP aggiunge il CSS e jQuery e hai il menu delle azioni pronto!

per quelli di voi che si stanno sbattendo la testa sulla scrivania chiedendosi perché questo codice sembra non fare nulla con il vostro tipo di post personalizzato, nota: se il vostro CPT è "gerarchico", allora il vostro hook del filtro è "page_row_actions"
e NON "post_row_actions"
[si strofina la testa]

avevo provato page_row_actions con lo slug della mia pagina di menu personalizzata, ma non funziona, o forse mi è sfuggito qualcosa. Ma ho esaminato il codice di un plugin premium molto famoso che aggiunge azioni personalizzate alle righe della pagina, e ho visto che stanno aggiungendo il markup direttamente alla tabella. Ho fatto lo stesso e funziona alla perfezione.
