*/ /** * Registers settings section and fields */ if ( !function_exists( 'wedevs_admin_init' ) ): function wedevs_admin_init() { $sections = array( array( 'id' => 'wedevs_basics', 'title' => __( 'Basic Settings', 'wedevs' ) ), array( 'id' => 'wedevs_advanced', 'title' => __( 'Advanced Settings', 'wedevs' ) ), array( 'id' => 'wedevs_others', 'title' => __( 'Other Settings', 'wpuf' ) ) ); $fields = array( 'wedevs_basics' => array( array( 'name' => 'text', 'label' => __( 'Text Input', 'wedevs' ), 'desc' => __( 'Text input description', 'wedevs' ), 'type' => 'text', 'default' => 'Title' ), array( 'name' => 'textarea', 'label' => __( 'Textarea Input', 'wedevs' ), 'desc' => __( 'Textarea description', 'wedevs' ), 'type' => 'textarea' ), array( 'name' => 'checkbox', 'label' => __( 'Checkbox', 'wedevs' ), 'desc' => __( 'Checkbox Label', 'wedevs' ), 'type' => 'checkbox' ), array( 'name' => 'radio', 'label' => __( 'Radio Button', 'wedevs' ), 'desc' => __( 'A radio button', 'wedevs' ), 'type' => 'radio', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'multicheck', 'label' => __( 'Multile checkbox', 'wedevs' ), 'desc' => __( 'Multi checkbox description', 'wedevs' ), 'type' => 'multicheck', 'options' => array( 'one' => 'One', 'two' => 'Two', 'three' => 'Three', 'four' => 'Four' ) ), array( 'name' => 'selectbox', 'label' => __( 'A Dropdown', 'wedevs' ), 'desc' => __( 'Dropdown description', 'wedevs' ), 'type' => 'select', 'default' => 'no', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'password', 'label' => __( 'Password', 'wedevs' ), 'desc' => __( 'Password description', 'wedevs' ), 'type' => 'password', 'default' => '' ), array( 'name' => 'file', 'label' => __( 'File', 'wedevs' ), 'desc' => __( 'File description', 'wedevs' ), 'type' => 'file', 'default' => '' ) ), 'wedevs_advanced' => array( array( 'name' => 'text', 'label' => __( 'Text Input', 'wedevs' ), 'desc' => __( 'Text input description', 'wedevs' ), 'type' => 'text', 'default' => 'Title' ), array( 'name' => 'textarea', 'label' => __( 'Textarea Input', 'wedevs' ), 'desc' => __( 'Textarea description', 'wedevs' ), 'type' => 'textarea' ), array( 'name' => 'checkbox', 'label' => __( 'Checkbox', 'wedevs' ), 'desc' => __( 'Checkbox Label', 'wedevs' ), 'type' => 'checkbox' ), array( 'name' => 'radio', 'label' => __( 'Radio Button', 'wedevs' ), 'desc' => __( 'A radio button', 'wedevs' ), 'type' => 'radio', 'default' => 'no', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'multicheck', 'label' => __( 'Multile checkbox', 'wedevs' ), 'desc' => __( 'Multi checkbox description', 'wedevs' ), 'type' => 'multicheck', 'default' => array( 'one' => 'one', 'four' => 'four' ), 'options' => array( 'one' => 'One', 'two' => 'Two', 'three' => 'Three', 'four' => 'Four' ) ), array( 'name' => 'selectbox', 'label' => __( 'A Dropdown', 'wedevs' ), 'desc' => __( 'Dropdown description', 'wedevs' ), 'type' => 'select', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'password', 'label' => __( 'Password', 'wedevs' ), 'desc' => __( 'Password description', 'wedevs' ), 'type' => 'password', 'default' => '' ), array( 'name' => 'file', 'label' => __( 'File', 'wedevs' ), 'desc' => __( 'File description', 'wedevs' ), 'type' => 'file', 'default' => '' ) ), 'wedevs_others' => array( array( 'name' => 'text', 'label' => __( 'Text Input', 'wedevs' ), 'desc' => __( 'Text input description', 'wedevs' ), 'type' => 'text', 'default' => 'Title' ), array( 'name' => 'textarea', 'label' => __( 'Textarea Input', 'wedevs' ), 'desc' => __( 'Textarea description', 'wedevs' ), 'type' => 'textarea' ), array( 'name' => 'checkbox', 'label' => __( 'Checkbox', 'wedevs' ), 'desc' => __( 'Checkbox Label', 'wedevs' ), 'type' => 'checkbox' ), array( 'name' => 'radio', 'label' => __( 'Radio Button', 'wedevs' ), 'desc' => __( 'A radio button', 'wedevs' ), 'type' => 'radio', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'multicheck', 'label' => __( 'Multile checkbox', 'wedevs' ), 'desc' => __( 'Multi checkbox description', 'wedevs' ), 'type' => 'multicheck', 'options' => array( 'one' => 'One', 'two' => 'Two', 'three' => 'Three', 'four' => 'Four' ) ), array( 'name' => 'selectbox', 'label' => __( 'A Dropdown', 'wedevs' ), 'desc' => __( 'Dropdown description', 'wedevs' ), 'type' => 'select', 'options' => array( 'yes' => 'Yes', 'no' => 'No' ) ), array( 'name' => 'password', 'label' => __( 'Password', 'wedevs' ), 'desc' => __( 'Password description', 'wedevs' ), 'type' => 'password', 'default' => '' ), array( 'name' => 'file', 'label' => __( 'File', 'wedevs' ), 'desc' => __( 'File description', 'wedevs' ), 'type' => 'file', 'default' => '' ) ) ); $settings_api = WeDevs_Settings_API::getInstance(); //set sections and fields $settings_api->set_sections( $sections ); $settings_api->set_fields( $fields ); //initialize them $settings_api->admin_init(); } endif; add_action( 'admin_init', 'wedevs_admin_init' ); if ( !function_exists( 'wedevs_admin_menu' ) ): /** * Register the plugin page */ function wedevs_admin_menu() { add_options_page( 'Settings API', 'Settings API', 'delete_posts', 'settings_api_test', 'wedevs_plugin_page' ); } endif; add_action( 'admin_menu', 'wedevs_admin_menu' ); /** * Display the plugin settings options page */ if ( !function_exists( 'wedevs_plugin_page' ) ): function wedevs_plugin_page() { $settings_api = new WeDevs_Settings_API; echo '
'; settings_errors(); $settings_api->show_navigation(); $settings_api->show_forms(); echo '
'; } endif;