函数原型
get_post_type_capabilities( object $args ): object
函数描述
Builds an object with all post type capabilities out of a post type object
是否弃用
未弃用
函数参数
-
$args
object
Required - Post type registration arguments.
函数返回值
object Object with all the capabilities as member variables.
函数位置
File: wp-includes/post.php.
函数源码
function get_post_type_capabilities( $args ) {
if ( ! is_array( $args->capability_type ) ) {
$args->capability_type = array( $args->capability_type, $args->capability_type . 's' );
}
// Singular base for meta capabilities, plural base for primitive capabilities.
list( $singular_base, $plural_base ) = $args->capability_type;
$default_capabilities = array(
// Meta capabilities.
'edit_post' => 'edit_' . $singular_base,
'read_post' => 'read_' . $singular_base,
'delete_post' => 'delete_' . $singular_base,
// Primitive capabilities used outside of map_meta_cap():
'edit_posts' => 'edit_' . $plural_base,
'edit_others_posts' => 'edit_others_' . $plural_base,
'delete_posts' => 'delete_' . $plural_base,
'publish_posts' => 'publish_' . $plural_base,
'read_private_posts' => 'read_private_' . $plural_base,
);
// Primitive capabilities used within map_meta_cap():
if ( $args->map_meta_cap ) {
$default_capabilities_for_mapping = array(
'read' => 'read',
'delete_private_posts' => 'delete_private_' . $plural_base,
'delete_published_posts' => 'delete_published_' . $plural_base,
'delete_others_posts' => 'delete_others_' . $plural_base,
'edit_private_posts' => 'edit_private_' . $plural_base,
'edit_published_posts' => 'edit_published_' . $plural_base,
);
$default_capabilities = array_merge( $default_capabilities, $default_capabilities_for_mapping );
}
$capabilities = array_merge( $default_capabilities, $args->capabilities );
// Post creation capability simply maps to edit_posts by default:
if ( ! isset( $capabilities['create_posts'] ) ) {
$capabilities['create_posts'] = $capabilities['edit_posts'];
}
// Remember meta capabilities for future reference.
if ( $args->map_meta_cap ) {
_post_type_meta_capabilities( $capabilities );
}
return (object) $capabilities;
}
源码链接
变更日志
| Version | Description |
|---|---|
| 5.4.0 | 'delete_posts' is included in default capabilities. |
| 3.0.0 | Introduced. |

