是否可以“过滤” Wordpress 中页面 ( http://cl.ly/6nLC )的“编辑”屏幕中显示的页面?我已经查看了 Wordpress 插件开发人员的操作/挂钩部分,但找不到任何内容。
我想要完成的是某些用户可以编辑某些页面(和子页面),而其他人无法编辑这些页面,但可能能够编辑其他页面。
我已经写了一个插件,它可以将不同的用户放在不同的组中,现在只需要拥有不同的权限,哪个用户是哪个组的成员存储在 user_meta 表中。
但是,如果有“任何”过滤器挂钩/方法,有人可以指出这一点,我想我可以从那里走得更远。
亲切的问候。
您可以使用posts_where
过滤器向 SQL 查询添加条件以过滤掉一些页面。一个load-{filename}
动作可以被用来确保过滤器管理页面时,仅适用。
add_action('load-edit.php', 'my_load_edit_php_action');
function my_load_edit_php_action() {
if ($_GET['post_type'] !== 'page') return;
add_filter('posts_where', 'my_posts_where_filter');
}
function my_posts_where_filter($sql) {
if (current_user_can('your_capability')) {
global $wpdb;
$sql = " AND $wpdb->posts.ID NOT IN (1,2,3)" . $sql;
}
return $sql;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2613 次 |
最近记录: |