plugin_name = $plugin_name; $this->version = $version; } /** * Enqueue scripts and styles * */ public function enqueue_scripts_styles( $hook_suffix ) { if ( $hook_suffix == 'toplevel_page_quickwebp-settings' || $hook_suffix == 'media_page_quickwebp-settings' ) { $admin_main_settings_assets = include( QUICKWEBP_PLUGIN_PATH . 'public/assets/build/admin-main-settings.asset.php' ); wp_enqueue_style( 'quickwebpoi_admin_main_settings', QUICKWEBP_PLUGIN_URL . 'public/assets/build/admin-main-settings.css', array(), $admin_main_settings_assets['version'], 'all' ); wp_enqueue_script( 'quickwebpoi_admin_main_settings', QUICKWEBP_PLUGIN_URL . 'public/assets/build/admin-main-settings.js', $admin_main_settings_assets['dependencies'], $admin_main_settings_assets['version'], true ); } } /** * add_settings_menu * * @return void */ public function add_settings_menu() { add_submenu_page( 'upload.php', __('Quickwebp Settings', QUICKWEBP_TEXT_DOMAIN), __('Quickwebp', QUICKWEBP_TEXT_DOMAIN), 'manage_options', 'quickwebp-settings', array( $this, 'render_settings_page' ) ); } /** * render_settings_page * * @return void */ public function render_settings_page() { require_once QUICKWEBP_PLUGIN_PATH . 'admin/templates/page-settings.php'; } /** * render_component * * @param mixed $data * @return void */ public function render_component( $data = array() ) { $data['type'] = $data['type'] ?? 'text'; $data['name'] = $data['name'] ?? ''; $file_name = $data['type'] == 'text' || $data['type'] == 'email' || $data['type'] == 'tel' || $data['type'] == 'number' ? 'text' : $data['type']; $path_to_component = QUICKWEBP_PLUGIN_PATH . 'admin/components/' . $file_name . '.php'; if( file_exists( $path_to_component ) ) { ?>