wordpress通过wpcli授权管理友情链接的操作方法

作者

有个需求,朋友网站需要更换友情链接,把整个网站交给别人,不是很放心。问我能不能,只给予添加友情链接的权限。我看了下程序,是wordpress。感觉好办多少了。

友情链接
这里把操作的步骤整理一下。这里需要注意的是,wpcli 需要自己安装。一般的空间是不支持的。这个网站刚好是在一台独立的服务器上。

启用友情链接

functions.php -- 一行代码开启友情链接

add_filter( 'pre_option_link_manager_enabled', '__return_true' );

wordpress 默认这个功能是关闭的,需要开启。

查找相关的权限

管理有有最高的权限,查找关于链接的权限

wp cap list  administrator | grep "links"
manage_links

增加一个角色,这个角色仅仅用来管理友链

# wp role create <role-key> <role-name> [--clone=<role>]
wp role create link Link

角色授权

# wp cap add <role> <cap>... [--grant]
wp cap add link manage_links

创建用户

wp user create senlin senlin@liuhaolin.com  --user_pass=123456

把用户添加相应的角色,就会获得该角色的权限

# wp user add-role <user> <role>
wp user add-role senlin link

之后用新建的用户senlin登陆wordpress后台,就可以看到,用户senlin具有操作友情链接的权限。

登陆后直接跳转

function my_login_redirect( $redirect_to, $request, $user ) {

    if ( isset( $user->roles ) && is_array( $user->roles ) ) {
        if ( in_array( 'link', $user->roles ) ) {
            return home_url(). '/wp-admin/link-manager.php';
        }
    }

    return $redirect_to;
}

add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );

回复

电子邮件地址不会被公开。