LLMS_Admin_Post_Table_Forms
Contents
Source Source
File: includes/admin/post-types/post-tables/class-llms-admin-post-table-forms.php
class LLMS_Admin_Post_Table_Forms { /** * Constructor * * @since 5.0.0 * * @return void */ public function __construct() { add_filter( 'manage_llms_form_posts_columns', array( $this, 'add_columns' ), 10, 1 ); add_filter( 'bulk_actions-edit-llms_form', array( $this, 'manage_bulk_actions' ), 10, 1 ); add_filter( 'post_row_actions', array( $this, 'manage_post_row_actions' ), 10, 2 ); add_action( 'manage_llms_form_posts_custom_column', array( $this, 'manage_columns' ), 10, 2 ); add_action( 'pre_get_posts', array( 'LLMS_Admin_Post_Table_Forms', 'pre_get_posts' ) ); } /** * Add Custom Columns * * @since 5.0.0 * * @param array $columns Array of default columns. * @return array */ public function add_columns( $columns ) { if ( apply_filters( 'llms_forms_disable_post_table_cb', true ) ) { unset( $columns['cb'] ); } return llms_assoc_array_insert( $columns, 'title', 'location', __( 'Location', 'lifterlms' ) ); } /** * Manage available bulk actions. * * @since 5.0.0 * * @param array $actions Array of actions. * @return array */ public function manage_bulk_actions( $actions ) { unset( $actions['edit'] ); return $actions; } /** * Manage content of custom columns * * @since 5.0.0 * * @param string $column Table column name. * @param int $post_id WP Post ID of the form for the current row. * @return void */ public function manage_columns( $column, $post_id ) { if ( 'location' === $column ) { $locs = LLMS_Forms::instance()->get_locations(); $loc = get_post_meta( $post_id, '_llms_form_location', true ); if ( isset( $locs[ $loc ] ) ) { printf( '<strong>%1$s</strong><br><em>%2$s</em>', $locs[ $loc ]['name'], $locs[ $loc ]['description'] ); } else { echo $loc; } } } /** * Manage available bulk actions. * * @since 5.0.0 * @since 6.4.0 Use `LLMS_Forms::is_a_core_form()` to determine whether a form is a core form and cannot be deleted. * * @param array $actions Array of actions. * @return array */ public function manage_post_row_actions( $actions, $post ) { if ( 'llms_form' !== $post->post_type ) { return $actions; } // Core forms cannot be deleted. if ( LLMS_Forms::instance()->is_a_core_form( $post ) ) { unset( $actions['trash'] ); } unset( $actions['inline hide-if-no-js'] ); $link = get_permalink( $post ); if ( $link ) { $label = sprintf( esc_attr__( 'View "%s"', 'lifterlms' ), $post->post_title ); $actions['view'] = sprintf( '<a href="%1$s" rel="bookmark" aria-label="%2$s">%3$s</a>', $link, $label, __( 'View', 'lifterlms' ) ); } return $actions; } /** * Ensure only core forms are displayed in the forms list. * * @since 5.0.0 * * @param WP_Query $query Query object. * @return void */ public static function pre_get_posts( $query ) { if ( ! function_exists( 'get_current_screen' ) ) { return; } $screen = get_current_screen(); if ( ! $screen || 'edit-llms_form' !== $screen->id || ! $query->is_main_query() ) { return; } $query->set( 'meta_key', '_llms_form_is_core' ); $query->set( 'meta_value', 'yes' ); } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- __construct — Constructor
- add_columns — Add Custom Columns
- manage_bulk_actions — Manage available bulk actions.
- manage_columns — Manage content of custom columns
- manage_post_row_actions — Manage available bulk actions.
- pre_get_posts — Ensure only core forms are displayed in the forms list.
Changelog Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |