Zeilenaktionen für benutzerdefinierte Beitragstypen?

16

Ich arbeite an einem Plugin, das eine Site in eine Art Feedback-Portal umwandelt. Ich habe eine neue Objektseite mit dem Namen "Feedbacks" erstellt, auf der alle Feedbacks in tabellarischer Form angezeigt werden. Mit dieser Seite erstelle ich register_column_headers($array_of_column_headers)meine Tabelle. Ich wollte wissen, ob es möglich ist, meine eigenen Seitenreihenaktionen zu dieser Tabelle hinzuzufügen, ich meine unter jedem Feedback in der Liste Aktionen wie "Genehmigen", "Löschen", "Schwarze Liste" usw.

Ich las den Code und ein paar Tickets und fand heraus, dass es so gemacht wurde: für Posts post_row_actions, für Kommentare comment_row_actions, für Medien media_row_actionsund so weiter. Gibt es einen Filter, mit dem ich das machen kann my-page-slug_row_actions?

Rutwick Gangurde
quelle

Antworten:

19

Wenn Sie einen benutzerdefinierten Beitragstyp verwenden, verwenden Sie den post_row_actionsFilter-Hook und überprüfen Sie den Beitragstyp, um ihn nur zu ändern:

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

Schnelles Update:

wenn Sie benutzerdefinierte Post - Typ durch somatische ist „hierarchisch“ , dann Sie Aktion Haken ist: page_row_actions.

Bainternet
quelle
Hat $postUmfang? hint hint ;)
t31os
@ T310s Fixed @Bainternet hoffe, es macht dir nichts aus,)
Kaiser
2
@kaiser: Und dein Update verbessert!
Jan Fabry
Hallo, ich habe bereits 'post_row_actions' verwendet, um einen Link in die benutzerdefinierten Posts-Zeilen einzufügen. Ich möchte dies jedoch für meine Menüseite tun, die mit dem Hook 'add_object_page' hinzugefügt wird (ähnlich wie '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") Ich habe mich gefragt, ob ich "feedbacks-menu_row_actions (...)" ausführen kann (genau wie bei anderen Seiten wie "Posts", "Comments" usw., bei denen der Seiten-Slug mit Zeilenaktionen verwendet wird).
Rutwick Gangurde
5
für diejenigen von Ihnen , den Kopf auf dem Schreibtisch hämmern fragen , warum dieser Code nichts mit Ihrer eigenen Post Art zu tun scheint, Anmerkung: Wenn Ihr CPT „hierarchisch“ ist, dann wird Ihr Filter Haken ist "page_row_actions"und NICHT "post_row_actions" [Reibungen Kopf]
somatischer