自定义帖子类型的行操作?


16

我正在开发一个插件,该插件可以将网站转换为反馈门户。我创建了一个新的对象页面“ Feedbacks”,该页面以表格形式显示所有反馈,并且我正在使用它register_column_headers($array_of_column_headers)来制作表格。我想知道是否可以在此表中添加我自己的页面行操作,我的意思是在列表中的每个反馈下都包含“批准”,“删除”,“黑名单”等操作。

我阅读了代码和几张票,然后发现这样做是这样的:帖子,post_row_actions注释comment_row_actions,评论,媒体media_row_actions。是否可以使用过滤器my-page-slug_row_actions

Answers:


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


是否$post有范围有多大?提示提示 ;)
t31os 2011年

@ t310s固定@Bainternet希望您不要介意,)
kaiser

2
@kaiser:并改进了您的修复!
Jan Fabry

嗨,我已经使用'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(...)'(就像使用页面行和行动作对其他页面如'Posts','Comments'所做的一样)。
Rutwick Gangurde 2011年

6
对于那些想知道为什么此代码对您的自定义帖子类型不起作用的人,请注意:如果CPT是“分层的”,那么您的过滤器钩子就是"page_row_actions"NOT "post_row_actions" [擦头]
体细胞
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.