LLMS_Admin_Post_Types
Admin Post Types.
Description Description
Sets up post type custom messages and includes base metabox class.
Source Source
File: includes/admin/class.llms.admin.post-types.php
class LLMS_Admin_Post_Types { /** * Constructor * * Adds functions to actions and sets filter on post_updated_messages. * * @since Unknown * @since 6.0.0 Disable the block editor for legacy certificates. * * @return void */ public function __construct() { add_action( 'use_block_editor_for_post', array( $this, 'use_block_editor_for_post' ), 20, 2 ); add_action( 'admin_init', array( $this, 'include_post_type_metabox_class' ) ); add_filter( 'post_updated_messages', array( $this, 'llms_post_updated_messages' ) ); } /** * Admin Menu * * Includes base metabox class * * @return void */ public function include_post_type_metabox_class() { include 'post-types/class.llms.meta.boxes.php'; } /** * Disables the block editor for legacy certificates. * * @since 6.0.0 * * @param boolean $use_block_editor Whether or not to use the block editor. * @param WP_Post $post Post object. * @return boolean */ public function use_block_editor_for_post( $use_block_editor, $post ) { $cert = llms_get_certificate( $post, true ); if ( $cert && 1 === $cert->get_template_version() ) { $use_block_editor = false; } return $use_block_editor; } /** * Initializes core for metaboxes. * * @since Unknown * @deprecated 6.0.0 `LLMS_Admin_Post_Types::meta_metabox_init()` is deprecated with no replacement. * * @return void */ public function meta_metabox_init() { llms_deprecated_function( __METHOD__, '6.0.0' ); include_once 'llms.class.admin.metabox.php'; } /** * Customize post type messages. * * @since Unknown. * @since 3.35.0 Fix l10n calls. * @since 4.7.0 Added `publicly_queryable` check for permalink and preview. * @since 6.0.0 Handle `llms_my_certificate` and `llms_my_achievement` post types. * @since 6.7.0 Fixed too few arguments passed to sprintf, when building restore from revision message. * * @return array $messages Post updated messages. */ public function llms_post_updated_messages( $messages ) { global $post; $llms_post_types = array( 'course', 'section', 'lesson', 'llms_order', 'llms_email', 'llms_email', 'llms_certificate', 'llms_my_certificate', 'llms_achievement', 'llms_my_achievement', 'llms_engagement', 'llms_quiz', 'llms_question', 'llms_coupon', ); foreach ( $llms_post_types as $type ) { $obj = get_post_type_object( $type ); $name = $obj->labels->singular_name; $permalink_html = ''; $preview_link_html = ''; if ( $obj->publicly_queryable ) { $permalink = get_permalink( $post->ID ); $preview_link = add_query_arg( 'preview', 'true', $permalink ); $link_format = ' <a href="%1$s">%2$s</a>.'; $permalink_html = sprintf( $link_format, $permalink, sprintf( __( 'View %s', 'lifterlms' ), $name ) ); $preview_link_html = sprintf( $link_format, $permalink, sprintf( __( 'Preview %s', 'lifterlms' ), $name ) ); } $messages[ $type ] = array( 0 => '', 1 => sprintf( __( '%s updated.', 'lifterlms' ), $name ) . $permalink_html, 2 => __( 'Custom field updated.', 'lifterlms' ), 3 => __( 'Custom field deleted.', 'lifterlms' ), 4 => sprintf( __( '%s updated.', 'lifterlms' ), $name ), 5 => isset( $_GET['revision'] ) ? // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- No need to verify the nonce here. sprintf( __( '%1$s restored to revision from %2$s.', 'lifterlms' ), $name, wp_post_revision_title( llms_filter_input( INPUT_GET, 'revision', FILTER_SANITIZE_NUMBER_INT ), false ) ) : false, 6 => sprintf( __( '%s published.', 'lifterlms' ), $name ) . $permalink_html, 7 => sprintf( __( '%s saved.', 'lifterlms' ), $name ), 8 => sprintf( __( '%s submitted.', 'lifterlms' ), $name ) . $preview_link_html, 9 => sprintf( __( '%1$s scheduled for: <strong>%2$s</strong>.', 'lifterlms' ), $name, date_i18n( __( 'M j, Y @ G:i', 'lifterlms' ), strtotime( $post->post_date ) ) ) . $preview_link_html, 10 => sprintf( __( '%1$s draft updated.', 'lifterlms' ), $name ) . $preview_link_html, ); } return $messages; } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- __construct — Constructor
- include_post_type_metabox_class — Admin Menu
- llms_post_updated_messages — Customize post type messages.
- meta_metabox_init — Initializes core for metaboxes. — deprecated
- use_block_editor_for_post — Disables the block editor for legacy certificates.
Changelog Changelog
Version | Description |
---|---|
6.0.0 | Introduced. |