是否有过滤器来删除或替换管理员帖子表视图(edit.php)中的帖子标题链接?

时间:2015-09-04 作者:gdaniel

我想我可以用过滤器the_title. 但这让你只能更改文本。我想禁用特定页面的标题链接。因此标题文本将保持不变,但用户将无法单击它并进入编辑帖子页面。我可以想出两种方法。

添加类以通过css禁用链接在选择任何一种方法之前,我想知道是否有一个过滤器可以实现这一点,而不必求助于JS或css?

我一直在搜索抄本和胡克。io用于筛选器,但我找不到任何内容。

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

我想试试下面这样的东西。自从current_user_can 在显示链接之前调用,我们必须钩住检查功能的位置。

function wpse200630_has_cap_check( $allcaps, $caps, $args, $user ){
     if( function_exists( \'get_current_screen\' ) ){
        $screen = get_current_screen();
        if( $screen->base == \'edit\'  && $screen->post_type == \'my_post_type\'){
            if ( \'edit_post\' == $args[0] || \'delete_post\' == $args[0] ) {
                if( !empty( $args[2] ) && $args[2] == ID_TO_DISABLE )
                    return array();
            }
        }
    }
    return $allcaps ;
} 
add_filter( \'user_has_cap\', \'wpse200630_has_cap_check\', 10, 3 );

相关推荐

WP-ADMIN:“对不起,您不能访问此页面。”

两周后不使用我们的WP站点,登录/wp-admin/ 出现白屏错误:抱歉,不允许您访问此页面。我有:重命名plugins 到plugins.temp.通过phpMyAdmin创建了一个新的管理员用户。新用户已user_meta 的作用a:1:{s:13:"administrator";s:1:"1";}.</已重命名themes 到themes.temp.</删除核心WordPress文件,并替换为新上载的文件</已替换.htaccess 使用默认