是否删除某些用户角色的固定链接帖子中的编辑按钮?WP 3.3

时间:2012-04-22 作者:Damainman

我正在使用Wordpress 3.3.2和以下插件:-http://wordpress.org/extend/plugins/advanced-access-manager/

该插件工作得很好,但作者表示,目前无法通过该插件实现这一点,因此我想知道是否有其他插件或任何代码修改可以实现它们。

我创建了一个名为“成员”的自定义用户角色,我应用了某些权限,因此用户只能看到在后端发表文章的选项

问题出现在用户提交帖子之后。在帖子标题字段的正下方,它显示了永久链接,并显示了一个“编辑”按钮,允许用户更改永久链接。

有没有办法删除“编辑”按钮,这样他们就不能编辑永久链接,或者删除整行内容,这样永久链接就不会显示给他们?

提前感谢您!

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

您可以执行以下操作(在functions.php文件中);

if(current_user_can(\'member\')){  

add_filter(\'get_sample_permalink_html\', \'perm\', \'\',4);

function perm($return, $id, $new_title, $new_slug){
    
    $post = get_post( $id );

    if( ! $post || ( $post->post_type !== \'testimonials\' ) )
    {
        return $return;
    }

    return preg_replace(
        \'/<span id="edit-slug-buttons">.*<\\/span>|<span id=\\\'view-post-btn\\\'>.*<\\/span>/i\', 
        \'\', 
        $return
    );
}
要在应得的时候给予信任

<罢工>if( $_GET[\'role\'] == "member" ) {

<罢工>}

。。。直接取自此问题&;答复HERE 提供人:Jonathan Wold

更新的条件if语句;

if( $_GET[\'role\'] == "member" ) {//code here }

替换为,

if(current_user_can(\'member\')){ //code here}

...在这种情况下。

SO网友:Damainman

为了实现这一点,下面的代码也适用于我,但它没有为用户角色使用IF语句。这将添加到函数中。php文件。我在以下位置找到信息:https://gist.github.com/1967124

 <?php

add_action(\'admin_head\', \'hide_edit_permalinks_admin_css\');

function hide_edit_permalinks_admin_css()
{
    ?>
<style type="text/css">
<!--
#titlediv
{
margin-bottom: 10px;
}
#edit-slug-box
{
display: none;
}
-->
</style>
<?php
}

SO网友:IFightCode

// get the role object
$role = get_role( \'editor\' );

// remove cap
$role->remove_cap( \'edit_post\' );
不确定,但这应该行得通,不是吗?

结束