我想试试下面这样的东西。自从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 );