Działania wierszy dla niestandardowych typów postów?

16

Pracuję nad wtyczką, która przekształca witrynę w portal zwrotny. Stworzyłem nową stronę obiektową „Informacje zwrotne”, która wyświetla wszystkie informacje zwrotne w formacie tabelarycznym, i używam register_column_headers($array_of_column_headers)do tworzenia tabeli. Chciałem wiedzieć, czy można dodać własne akcje wiersza strony do tej tabeli, to znaczy pod każdą opinią na liście, akcje takie jak „zatwierdzaj”, „usuń”, „czarna lista” itp.

Przeczytałem kod i kilka biletów i dowiedziałem się, że zrobiono to w ten sposób: dla postów post_row_actions, dla, dla komentarzy comment_row_actions, dla mediów media_row_actionsi tak dalej. Czy istnieje filtr, który pozwala mi to zrobić my-page-slug_row_actions?

Rutwick Gangurde
źródło

Odpowiedzi:

19

Korzystając z niestandardowego typu posta, używasz post_row_actionshaka filtru i zaznacz typ postu, aby go zmodyfikować:

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

Szybka aktualizacja:

dzięki somatyczny jeśli niestandardowego typu postu jest „hierarchiczny”, to hak działanie jest: page_row_actions.

Bainternet
źródło
Czy $postma zasięg? podpowiedź podpowiedź ;)
t31os
@ t310s Naprawiono @Bainternet, mam nadzieję, że nie masz nic przeciwko,)
Kaiser
2
@kaiser: I poprawiłem twoją poprawkę!
Jan Fabry,
Cześć, już użyłem „post_row_actions” do dodania linku w niestandardowych wierszach postów. Ale chcę to zrobić dla mojej strony menu, która jest dodawana za pomocą haka „add_object_page” (który jest podobny do „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") Zastanawiałem się, czy mógłbym to zrobić, „feedbacks-menu_row_actions (...)” (podobnie jak w przypadku innych stron, takich jak „Posty”, „Komentarze” itp., Używając informacji o stronie z działaniami wiersza).
Rutwick Gangurde,
6
dla tych z Was, którzy uderzają głową w biurko, zastanawiając się, dlaczego ten kod wydaje się nic nie robić z niestandardowym typem postu, zwróć uwagę: jeśli CPT jest „hierarchiczny”, wtedy twój haczyk filtrujący jest, "page_row_actions"a NIE "post_row_actions" [naciera głową]
somatycznie