LLMS_Admin_Post_Tables::handle_link_actions()
Handle events for our custom postrow actions
Return Return
(void)
Source Source
File: includes/admin/post-types/class.llms.post.tables.php
public function handle_link_actions() { $action = llms_filter_input( INPUT_GET, 'action' ); // Bail early if request doesn't concern us. if ( empty( $action ) ) { return; } // Bail early if it isn't a clone/ export request. if ( 'llms-clone-post' !== $action && 'llms-export-post' !== $action ) { return; } $post_id = llms_filter_input( INPUT_GET, 'post' ); // Bail if there's no post ID. if ( empty( $post_id ) ) { wp_die( __( 'Missing post ID.', 'lifterlms' ) ); } $post = get_post( $post_id ); // Bail if post ID is invalid. if ( ! $post ) { wp_die( __( 'Invalid post ID.', 'lifterlms' ) ); } // Bail if the action isn't supported on post type. if ( ! post_type_supports( $post->post_type, $action ) ) { wp_die( __( 'Action cannot be executed on the current post.', 'lifterlms' ) ); } // Bail if user doesn't have permissions. if ( ! current_user_can( 'edit_course', $post->ID ) ) { wp_die( __( 'You are not authorized to perform this action on the current post.', 'lifterlms' ) ); } $post = llms_get_post( $post ); // Run export or clone action as needed. switch ( $action ) { case 'llms-export-post': $post->export(); break; case 'llms-clone-post': $r = $post->clone_post(); if ( is_wp_error( $r ) ) { LLMS_Admin_Notices::flash_notice( $r->get_error_message(), 'error' ); } wp_redirect( admin_url( 'edit.php?post_type=' . $post->get( 'type' ) ) ); exit; } }
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.33.1 | Use edit_course cap instead of edit_post cap. |
3.3.0 | Introduced. |