LLMS_Post_Types::get_post_type_caps( string $post_type )
Get an array of capabilities for a custom post type
Description Description
Due to core bug does not allow us to use capability_type in post type registration. See https://core.trac.wordpress.org/ticket/30991.
Parameters Parameters
- $post_type
-
(string) (Required) Post type name.
Return Return
(array)
Source Source
File: includes/class.llms.post-types.php
public static function get_post_type_caps( $post_type ) { if ( ! is_array( $post_type ) ) { $singular = $post_type; $plural = $post_type . 's'; } else { $singular = $post_type[0]; $plural = $post_type[1]; } if ( in_array( $singular, array( 'my_achievement', 'my_certificate' ), true ) ) { $caps = self::get_earned_engagements_post_type_caps(); } else { $caps = array( 'read_post' => sprintf( 'read_%s', $singular ), 'read_private_posts' => sprintf( 'read_private_%s', $plural ), 'edit_post' => sprintf( 'edit_%s', $singular ), 'edit_posts' => sprintf( 'edit_%s', $plural ), 'edit_others_posts' => sprintf( 'edit_others_%s', $plural ), 'edit_private_posts' => sprintf( 'edit_private_%s', $plural ), 'edit_published_posts' => sprintf( 'edit_published_%s', $plural ), 'publish_posts' => sprintf( 'publish_%s', $plural ), 'delete_post' => sprintf( 'delete_%s', $singular ), 'delete_posts' => sprintf( 'delete_%s', $plural ), // This is the core bug issue here. 'delete_private_posts' => sprintf( 'delete_private_%s', $plural ), 'delete_published_posts' => sprintf( 'delete_published_%s', $plural ), 'delete_others_posts' => sprintf( 'delete_others_%s', $plural ), 'create_posts' => sprintf( 'create_%s', $plural ), ); } /** * Filter the list of post type capabilities for the given post type. * * The dynamic portion of this hook, `$singular` refers to the post type's * name, for example "course" or "llms_membership". * * @since 3.13.0 * * @param array $caps Array of capabilities. */ return apply_filters( "llms_get_{$singular}_post_type_caps", $caps ); }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
6.0.0 | Add specific case for llms_my_achievement , llms_my_certificate post types. |
3.13.0 | Introduced. |