限制对帖子中垃圾桶文件夹的访问

时间:2012-11-30 作者:Amanda Duke

我想限制用户永久删除帖子。如何限制对帖子中垃圾文件夹的访问?这是用户可以删除其帖子的唯一页面permanently.

到目前为止,我唯一的解决方案是:

1) 将此添加到样式表:

li.trash {
    display: none;
}
但我和你都知道这是一个虚拟修复,更重要的是,它只是隐藏了指向垃圾文件夹的链接all 用户。

2) 删除该功能delete_posts 对于无编辑器。问题是,用户将无法将其帖子移动到垃圾箱文件夹(这是我的平台所必需的功能)。

你知道更好的解决方案吗?

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

使用过滤器,我们可以防止Trash 正在打印的链接
如果用户试图直接访问URL,则使用该操作重定向回“发布列表”页面(/wp-admin/edit.php?post_status=trash&post_type=post).

add_filter( \'views_edit-post\', \'wpse_74488_remove_trash_link\' );
add_action( \'admin_head-edit.php\', \'wpse_74488_block_trash_access\' );

function wpse_74488_remove_trash_link( $views ) 
{
    if( !current_user_can( \'delete_plugins\' ) )
        unset( $views[\'trash\'] );

    return $views;
}

function wpse_74488_block_trash_access()
{
    global $current_screen;

    if( 
        \'post\' != $current_screen->post_type 
        || \'trash\' != $_GET[\'post_status\'] 
    )
        return;

    if( !current_user_can( \'delete_plugins\' ) )
    {
        wp_redirect( admin_url() . \'edit.php\' ); 
        exit;
    }
}

结束

相关推荐

Where do wordpress posts go?

我们的数据中心安装了wordpress,它管理公司网站中的所有内容。因此,我有一个在树状视图中可访问和可用的页面列表。我们也有兴趣将其作为公司网站的一部分发布到常规博客上。我不清楚如何做到这一点,但我注意到在最顶端的导航中有一个新的Posts选项。所以我创建了几个草稿帖子。然而,现在我找不到了。我找到了一段讨论保存草稿帖子的视频,但我的左手导航没有显示任何帖子链接。。。只有几页。所以我可以创建新的帖子,但不知道如何管理它们。非常感谢您的任何建议。