localize_script(); ob_start(); echo nmsp_plugin_app()->blade->run( 'admin.settings', $data ); $output = ob_get_clean(); return wp_kses_post( $output ); } /** * Register and enqueue stylesheets and javascript files. * * @since 1.0.0 * * @return void */ public function register_scripts(): void { wp_enqueue_style( 'nmsp-plugin-name-admin-css', plugins_url( '../assets/css/nmsp-plugin-name-admin.css', __FILE__ ), array(), '1.0.0', 'screen' ); wp_register_script( 'nmsp-plugin-name-admin-js', plugins_url( '../assets/js/nmsp-plugin-name-admin.js', __FILE__ ), array( 'jquery' ), '1.0.0', false ); } /** * Description * * @since 1.0.0 * * @param array $additional_data (optional) Additional key-value paired data to pass to JavaScript. * * @return void */ private function localize_script( array $additional_data = array() ): void { wp_enqueue_script( 'nmsp-plugin-name-admin-js' ); $payload = array( 'wp_ajax_url' => admin_url( 'admin-ajax.php' ), '_nonce' => wp_create_nonce( NMSP_PLUGIN_NONCE ), ); wp_localize_script( 'nmsp-plugin-name-admin-js', 'nmspPluginAdminApi', $payload ); } } new Settings();