load_dependencies(); } /** * Load the required admin-specific dependencies. * * Includes the following files that provide the admin-specific functionality * of this plugin: * * - {@see WYSIWYG}: Provides plugin integration with the WYSIWYG editor. * - {@see layout\Settings}: Defines the plugin dashboard page(s). * * @access private * * @since 2.8.0 */ private function load_dependencies(): void { /** * The class responsible for WYSIWYG editor integration. */ require_once plugin_dir_path( __DIR__ ) . 'admin/class-wysiwyg.php'; $this->wysiwyg = new WYSIWYG( $this->plugin_name ); /** * The class responsible for constructing the plugin dashboard page(s). */ require_once plugin_dir_path( __DIR__ ) . 'admin/layout/class-init.php'; new layout\Init( $this->plugin_name ); } /** * Register the stylesheets for the admin area. * * @since 2.8.0 */ public function enqueue_styles(): void { wp_enqueue_style( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'css/settings' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.css', array(), ( PRODUCTION_ENV ) ? $this->version : filemtime( plugin_dir_path( __FILE__ ) . 'css/settings.css' ), 'all' ); } /** * Register the JavaScript for the admin area. * * @since 2.8.0 */ public function enqueue_scripts(): void { wp_enqueue_script( $this->plugin_name, plugin_dir_url( __FILE__ ) . 'js/wysiwyg-editor' . ( ( PRODUCTION_ENV ) ? '.min' : '' ) . '.js', array(), ( PRODUCTION_ENV ) ? $this->version : filemtime( plugin_dir_path( __FILE__ ) . 'js/wysiwyg-editor.js' ), false ); } /** * Appends the Plugin links for display in the dashboard Plugins page. * * @param string[] $plugin_links The default set of links to display. * @return string[] The full set of links to display. * * @since 1.5.0 * @since 2.8.0 Moved from `Hooks` class to `Admin`. */ public function action_links( array $plugin_links ): array { // Append link to the WordPress Plugin page. $plugin_links[] = sprintf( '%s', __( 'Support', 'footnotes' ) ); // Append link to the settings page. $plugin_links[] = sprintf( '%s', esc_url( admin_url( 'options-general.php?page=footnotes' ) ), __( 'Settings', 'footnotes' ) ); // Append link to the PayPal donate function. $plugin_links[] = sprintf( '%s', __( 'Donate', 'footnotes' ) ); return $plugin_links; } }