帮助!将php链接数据转换为url或隐藏后管理中的编辑链接,或隐藏除管理员之外的所有用户的草稿?

时间:2012-03-18 作者:user14275

我的网站允许用户通过整合到定制前端页面的上传过程上传事件。

作为一个事件上传者,我还希望用户能够访问仪表板,在那里可以查看他们发布的事件。

理想情况下,我希望删除编辑权限。php-我不希望用户能够编辑/或访问帖子。php,通过他们的仪表板。我只希望他们通过定制的前端上传来上传事件。

解决方案可能性1

我可以完全禁用参与者角色的编辑,并且仍然可以从其仪表板中向事件列表者显示帖子,如果我可以学习如何将此信息以仪表板中按钮的形式(针对所有用户)添加到管理侧栏的菜单中。此代码来自我在小部件中找到的链接:

<a href="<?php echo get_author_link( $echo = false, $current_user->data->ID; ?>LINKED TEXT HERE</a>
我试图添加它使用AG自定义管理员添加菜单按钮功能,但它没有工作。

以上是我的理想解决方案,因为我无法编辑。php通过此角色的url链接。

一个倒退是在前端显示帖子,当帖子还是草稿时显示编辑按钮。我想删除他们查看的前端页面上的编辑按钮,我想它只会出现在草稿状态,因为这个角色无法编辑已发布的帖子(我必须再次检查)。即使是用户的帖子,我也不希望他们在提交后能够对其进行编辑,因为我只希望发布我最初批准的内容。

我想我可以自己解决这个问题(可能是单曲?)如果有人能在我想到的时候帮我,那就太好了!

解决方案可能性2-如果我使用角色管理器完全阻止编辑,则会删除对编辑的所有访问权限。php。这在上面的实例中很好(如果我可以添加该链接以将所有作者的帖子显示到管理侧栏中)。但我确实希望事件上传者能够查看他们的事件列表并查看每个事件。编辑如果我不能像上面的exp那样链接到前端的列表,php似乎是实现这一点的第二好地方,因为事件已经在edit中列出了。php,以及视图工具。我只是不想允许一个链接被编辑,在我批准之前,这个链接会出现在帖子的标题中!!

我想如果我可以禁用链接来编辑帖子。(到post.php),它被合并到post(或事件)表中每一行的标题中,这样就可以阻止人们访问该屏幕。但我必须解决的是,如果他们粘贴在“/编辑”中,屏幕仍然可以访问。php\'到url。我已经删除了quickedit和edit,并从edit顶部的批量筛选器中删除了edit。php。

解决方案可能性3

另一个可能的修复方法利用了这样一个事实,即一旦投稿者发布了一篇文章(经我批准),编辑中的文章标题上的此链接。php屏幕实际上消失了!

因此,或者,如果有人知道一个代码,我可以将其粘贴到主题中的函数中,甚至核心文件中,(我不介意,无论如何,我是desp!)使管理员在编辑中的帖子列表中只能发布草稿状态的帖子。php,所以一旦参与者在前端发布了一个事件,它在发布之前不会出现在他们自己的发布屏幕上(当我批准它时),那么这也会解决我的问题!

非常感谢您抽出时间!我完全被困住了,我找不到任何一个解决方案,这是我所能做到的!如果有人能帮助我应对这一挑战,我将不胜感激,我真的被难住了。

我不是php专家,但我很灵巧,掌握得很好,善于从他人那里找到解决方案并进行修改,以满足我的特殊需求,等等。我在这方面花了很长时间,只是不得不挥舞白旗!我将急切地从我们在广阔的世界里的那里寻找任何提示!

谢谢你,再见

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

其他注意事项:

我正在使用wordpress v3。1.1我使用管理读者自己的帖子,我隐藏了媒体库,以便投稿者只能看到自己的图片我非常希望允许事件上传程序访问仪表板,因此我不想隐藏整个仪表板,以解决在后端隐藏编辑(或POST.php)访问权限的问题。

1 个回复
SO网友:kaiser

据我所知,你想阻止any 仪表板的另一侧。

那么,这里有一个简短的插件供您使用:

<?php
! defined( \'ABSPATH\' ) AND exit;
/* Plugin Name: (#45989) »kaiser« Allow Dashboard only access */

function wpse45989_access_dashboard_only()
{
    if (
        ! isset( get_current_screen()->id )
        OR \'dashboard\' !== get_current_screen()->id
        )
    {
        // Lets limit this to only specific user roles
        if ( current_user_can( \'ROLE_NAME_HERE\' ) )
            exit( wp_redirect( admin_url() ) );
    }
}
add_action( \'current_screen\', \'wpse45989_access_dashboard_only\', 100 );

结束