Действия строк для пользовательских типов записей?

16

Я работаю над плагином, который превращает сайт в портал обратной связи. Я создал новую страницу объекта «Отзывы», которая отображает все отзывы в табличном формате, и я использую его register_column_headers($array_of_column_headers)для создания таблицы. Я хотел знать, возможно ли добавить в эту таблицу свои собственные действия со строками страниц, я имею в виду под каждым отзывом в списке такие действия, как «одобрить», «удалить», «черный список» и т. Д.

Я прочитал код и пару билетов, и узнал, что это сделано следующим образом: для постов post_row_actions, для, для комментариев comment_row_actions, для СМИ media_row_actionsи так далее. Есть ли фильтр, который позволяет мне делать my-page-slug_row_actions,?

Рутвик Гангурде
источник

Ответы:

19

При использовании пользовательского типа записи вы используете post_row_actionsфильтр-фильтр и проверяете тип сообщения только для его изменения:

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

Быстрое обновление:

благодаря соматическим , если вы пользовательскому посту типа «иерархическая» , то вы действие крюк: page_row_actions.

Bainternet
источник
Есть ли $postсфера? подсказка подсказка ;)
t31os
@ t310s Исправлено @Bainternet надеюсь, вы не возражаете,)
kaiser
2
@kaiser: И улучшил ваше исправление!
Ян Фабри
Привет, я уже использовал 'post_row_actions' для добавления ссылки в пользовательских строках сообщений. Но я хочу сделать это для моей страницы меню, которая добавляется с помощью ловушки add_object_page (которая похожа на 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") Мне было интересно, смогу ли я сделать 'feedbacks-menu_row_actions (...)' (точно так же, как это было сделано для других страниц, таких как 'Посты', 'Комментарии' и т. Д., Используя слаг страницы с действиями строки).
Рутвик Гангурде,
6
для тех из вас, кто бьет головой по столу, задается вопросом, почему этот код, кажется, ничего не делает с вашим пользовательским типом записи, обратите внимание: если ваш CPT «иерархический», то ваш фильтр зацепляется "page_row_actions"и НЕ "post_row_actions" [потирает голову]
соматический