Return to Snippet

Revision: 66256
at April 7, 2014 06:59 by fedek6

Initial Code
 * Wordpress add custom setting
 * Place this in functions.php file of your template.
function custom_settings() {
	<form method="POST" action="options.php">
	<?php settings_fields( 'custom-settings' );	//pass slug name of page, also referred
	                                        //to in Settings API as option group name
	do_settings_sections( 'custom-settings' ); 	//pass slug name of page

// add menu button
add_action('admin_menu', 'plugin_admin_add_page');
function plugin_admin_add_page() {
	add_options_page('Custom Plugin Page', 'Custom Plugin Menu', 'manage_options', 'custom-settings', 'custom_settings');

// This tells WordPress to call the function named "setup_theme_admin_menus"
// when it's time to create the menu pages.
// add_action("admin_menu", "setup_theme_admin_menus");

 function eg_settings_api_init() {
 	// Add the section to reading settings so we can add our
 	// fields to it
		'Example settings section in reading',
 	// Add the field with the names and function to use for our new
 	// settings, put it in our new section
		'Example setting Name',
 	// Register our setting so that $_POST handling is done for us and
 	// our callback function just has to echo the <input>
 	register_setting( 'custom-settings', 'eg_setting_name' );
 } // eg_settings_api_init()
 add_action( 'admin_init', 'eg_settings_api_init' );
 // ------------------------------------------------------------------
 // Settings section callback function
 // ------------------------------------------------------------------
 // This function is needed if we added a new section. This function 
 // will be run at the start of our section
 function eg_setting_section_callback_function() {
 	echo '<p>Intro text for our settings section</p>';
 // ------------------------------------------------------------------
 // Callback function for our example setting
 // ------------------------------------------------------------------
 // creates a checkbox true/false option. Other types are surely possible
 function eg_setting_callback_function() {
 	echo '<input name="eg_setting_name" id="gv_thumbnails_insert_into_excerpt" type="checkbox" value="1" class="code" ' . checked( 1, get_option( 'eg_setting_name' ), false ) . ' /> Explanation text';

Initial URL

Initial Description
This is template for adding custom settings in Wordpress (using settings API).

Initial Title
Add custom Wordpress settings

Initial Tags

Initial Language