针对特定页面和/或类别授权用户

时间:2013-10-30 作者:Hinek

我正在为当地一家体育俱乐部管理Wordpress网站,导航如下:

青少年射箭队我想让部门负责人能够编辑其部门页面和子页面的内容(例如,足球负责人可以更改足球、足球青年和足球高级页面),但不能更改其他部门的页面。

这是否可以通过开箱即用的功能实现?或者我需要延期吗?

额外问题:这些用户也可以写博客帖子。。。我是否可以阻止某些类别,以便他们看不到/无法选择它们作为他们的博客帖子?

1 个回复
最合适的回答,由SO网友:realloc 整理而成

作者可以*编辑文章*,但不能*编辑网页*。就我个人而言,我更喜欢在这种情况下创建一个新角色capabilities 根据需要。在自定义插件中快速解决问题的方法是:

namespace WPSE\\realloc;

function activate( $network_wide ) {
    add_role(
        \'division\',
        __( \'people in charge of a division\' ), 
        array(
            \'read\'       => true,
            \'edit_pages\' => true,
            \'edit_posts\' => true,
        )
    );
}
register_activation_hook( __FILE__, __NAMESPACE__ . \'\\\\activate\' );

function remove_meta_box() {
    if ( ! current_user_can( \'manage_options\' ) ) {
        remove_meta_box( \'categorydiv\', \'post\', \'side\' );
    }
}
add_action( \'do_meta_boxes\', __NAMESPACE__ . \'\\\\remove_meta_box\' );
在我的例子中,你可以决定remove the meta_box 如果您的普通用户不应选择其帖子的类别,请使用类别选择器。

结束

相关推荐

PHP致命错误:无法为wp-includes/capabilities.php中的非对象调用重载函数

我在apache日志中遇到了太多以下错误。PHP Fatal error: Cannot call overloaded function for non-object in wp-includes/capabilities.php on line 1187这是函数current\\u user\\u can($capability)的内部,第1187行如下所示:$current_user = wp_get_current_user(); 我不知道问题出在哪里?