Azioni di riga per i tipi di post personalizzati?

18 apr 2011, 07:36:16
Visualizzazioni: 20.5K
Voti: 20

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?

0
Tutte le risposte alla domanda 1
8
26

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.

18 apr 2011 09:28:21
Commenti

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

t31os t31os
18 apr 2011 14:38:11

@t310s Risolto @Bainternet spero non ti dispiaccia ,)

kaiser kaiser
18 apr 2011 15:37:23

@kaiser: E ho migliorato la tua correzione!

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

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).

Rutwick Gangurde Rutwick Gangurde
18 apr 2011 18:31:41

Feedback è un custom post type? Se sì, rileggi la mia risposta.

Bainternet Bainternet
18 apr 2011 23:41:03

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!

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

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]

somatic somatic
5 mag 2011 08:22:04

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.

Rutwick Gangurde Rutwick Gangurde
6 mag 2011 18:53:37
Mostra i restanti 3 commenti