LLMS_Admin_Tool_Install_Forms
Admin tool to reinstall / revert user information forms to their default states
Source Source
File: includes/admin/tools/class-llms-admin-tool-install-forms.php
class LLMS_Admin_Tool_Install_Forms extends LLMS_Abstract_Admin_Tool { /** * Tool ID. * * @var string */ protected $id = 'install-forms'; /** * Retrieve a description of the tool * * This is displayed on the right side of the tool's list before the button. * * @since 5.0.0 * * @return string */ protected function get_description() { return __( 'Restores LifterLMS user information forms and reusable field blocks to their default versions. Caution: any existing form and field customizations will be lost!', 'lifterlms' ); } /** * Retrieve the tool's label * * The label is the tool's title. It's displayed in the left column on the tool's list. * * @since 5.0.0 * * @return string */ protected function get_label() { return __( 'Reinstall User Forms', 'lifterlms' ); } /** * Retrieve the tool's button text * * @since 5.0.0 * * @return string */ protected function get_text() { return __( 'Reinstall Forms', 'lifterlms' ); } /** * Retrieves a list of core reusable blocks ordered by their field ID. * * @since 5.0.0 * * @return int[] List of the WP_Post IDs. */ public function get_reusable_blocks() { $query = new WP_Query( array( 'posts_per_page' => -1, 'no_found_rows' => true, 'post_type' => 'wp_block', 'meta_key' => '_llms_field_id', 'meta_compare' => 'EXISTS', 'orderby' => 'meta_value', ) ); return wp_list_pluck( $query->posts, 'ID' ); } /** * Process the tool. * * Deletes all core reusable blocks and then recreates the core forms, * which additionally recreates the core reusable blocks. * * @since 5.0.0 * * @return boolean */ protected function handle() { // Retrieve original reusable blocks. $original_blocks = $this->get_reusable_blocks(); // Delete them all. foreach ( $original_blocks as $id ) { wp_delete_post( $id, true ); } // Recreate the forms (and the blocks). LLMS_Forms::instance()->install( true ); return true; } }
Expand full source code Collapse full source code View on GitHub
Methods Methods
- get_description — Retrieve a description of the tool
- get_label — Retrieve the tool's label
- get_reusable_blocks — Retrieves a list of core reusable blocks ordered by their field ID.
- get_text — Retrieve the tool's button text
- handle — Process the tool.
Changelog Changelog
Version | Description |
---|---|
5.0.0 | Introduced. |