get_option( 'airpicker_workspace_id', defined( 'AIRPICKER_WORKSPACE_ID' ) ? AIRPICKER_WORKSPACE_ID : '' ), 'pluginUrl' => trailingslashit( plugin_dir_url( __FILE__ ) ), ) ); } add_action( 'init', 'airpicker_register_block' ); /** * Registers the Settings → Air Media admin page. * * @return void */ function airpicker_register_settings_page() { add_options_page( __( 'Air Media Settings', 'air-asset-picker' ), __( 'Air Media', 'air-asset-picker' ), 'manage_options', 'airpicker-media', 'airpicker_settings_page_html' ); } add_action( 'admin_menu', 'airpicker_register_settings_page' ); /** * Registers the plugin options with sanitization callbacks. * * @return void */ function airpicker_register_settings() { register_setting( 'airpicker_settings', 'airpicker_workspace_id', array( 'sanitize_callback' => 'sanitize_text_field' ) ); } add_action( 'admin_init', 'airpicker_register_settings' ); /** * Renders the Settings → Air Media page HTML. * * @return void */ function airpicker_settings_page_html() { if ( ! current_user_can( 'manage_options' ) ) { return; } ?>