WordPress的过滤器user_row_actions
我试图添加除编辑|删除WordPress管理链接>用户>所有用户列出通过插件..这是WordPress的过滤器user_row_actions
我添加了一个功能
function pa_user_list_pay_link($actions, $user_object) {
if (current_user_can('administrator', $user_object->ID))
$actions['pay'] = '<a href="#">Pay</a>';
return $actions;
}
在通过观察其他插件或搜索谷歌制作的WordPress插件我第一次尝试..
和应用的过滤
add_filter('user_row_actions', array($this, 'pa_user_list_pay_link'), 10, 2);
但有些事情似乎去错了,因为这个环节没有出现在编辑|删除链接也消失了(不再在HTML输出)
更新1: 我修改/wp-admin/includes/class-wp-users-list-table.php
此行之后
$actions = apply_filters('user_row_actions', $actions, $user_object);
我加入这个
file_put_contents("test_output.txt" , count($actions));
的test_output.txt被写入/可湿性粉剂管理员/ ,它包含
我觉得我做了一些错误,在应用过滤器..
更新2:回答我自己的问题。
function pa_user_list_pay_link($actions, $user_object) {
if (current_user_can('administrator', $user_object->ID))
$actions['pay'] = '<a href="#">Pay</a>';
return $actions;
}
add_filter('user_row_actions', 'pa_user_list_pay_link', 10, 2);
工程! :D
如果编辑/删除链接正在消失,这意味着您的函数被调用,但会导致错误。
我不知道看你的代码的第一件事是是否是一个关联数组。请问,如果你改变
$actions['pay'] = '<a href="#">Pay</a>';
到
$actions[] = '<a href="#">Pay</a>';
工作?
如果有效,您可以将它插入正确的位置,而不是追加。
只是出于测试目的,我也会注释掉if
语句,以消除导致错误的权限(即,在添加太多其他逻辑之前,试着找出编辑/删除为什么会消失)。
好吧,我给它现在是一个尝试,感谢提示的网站。 – 2012-04-05 02:00:32
我认为最好的办法是做到这一点。您可以使用add_action('user_row_actions','your_function_name')自定义编辑和删除或添加新徽章。了解更多详情,您可以访问,我发现最好的solution..See这个帖子Add or edit custom link in wp users list in wordpress admin
希望它会帮助你..
啊 - 所以你的'add_filter'没有被从类内部调用? – Hobo 2012-04-05 10:54:38
不,我是非常新的插件写作,所以想保持尽可能简单..在wordpress插件的课堂中拥有所有内容的好处是什么? – 2012-04-07 03:07:13