wordpress
Posted in
980
2:14 am, September 27, 2024
Wordpress Use the settings API
PHP
<?php
/*
* Add the admin page
*/
add_action('admin_menu', 'wpse61431_admin_page');
function wpse61431_admin_page(){
add_menu_page('wpse61431 Settings', 'wpse61431', 'administrator', 'wpse61431-settings', 'wpse61431_admin_page_callback');
}
/*
* Register the settings
*/
add_action('admin_init', 'wpse61431_register_settings');
function wpse61431_register_settings(){
//this will save the option in the wp_options table as 'wpse61431_settings'
//the third parameter is a function that will validate your input values
register_setting('wpse61431_settings', 'wpse61431_settings', 'wpse61431_settings_validate');
}
function wpse61431_settings_validate($args){
//$args will contain the values posted in your settings form, you can validate them as no spaces allowed, no special chars allowed or validate emails etc.
if(!isset($args['wpse61431_email']) || !is_email($args['wpse61431_email'])){
//add a settings error because the email is invalid and make the form field blank, so that the user can enter again
$args['wpse61431_email'] = '';
add_settings_error('wpse61431_settings', 'wpse61431_invalid_email', 'Please enter a valid email!', $type = 'error');
}
//make sure you return the args
return $args;
}
//Display the validation errors and update messages
/*
* Admin notices
*/
add_action('admin_notices', 'wpse61431_admin_notices');
function wpse61431_admin_notices(){
settings_errors();
}
//The markup for your plugin settings page
function wpse61431_admin_page_callback(){ ?>
<div class="wrap">
<h2>wpse61431 Settings</h2>
<form action="options.php" method="post"><?php
settings_fields( 'wpse61431_settings' );
do_settings_sections( __FILE__ );
//get the older values, wont work the first time
$options = get_option( 'wpse61431_settings' ); ?>
<table class="form-table">
<tr>
<th scope="row">Email</th>
<td>
<fieldset>
<label>
<input name="wpse61431_settings[wpse61431_email]" type="text" id="wpse61431_email" value="<?php echo (isset($options['wpse61431_email']) && $options['wpse61431_email'] != '') ? $options['wpse61431_email'] : ''; ?>"/>
<br />
<span class="description">Please enter a valid email.</span>
</label>
</fieldset>
</td>
</tr>
</table>
<input type="submit" value="Save" />
</form>
</div>
<?php }
?>
External Link for Wordpress Use the settings API
View Statistics
This Week
61
This Month
273
This Year
983
Add Comment
Other Items in wordpress
Wordpress Use the settings API
Wordpress add a sub menu to your plugin
Disable the ACF Warning message in wordpress dashboard
load a page as a menu in wordpress
extract a wordpress menu using its id
Wordpress template with fixed sidebar in flex
add a page template in a wordpress theme
wordpress jquery find and replace option text value
wordpress block grid code
display a subnav for the current wordpress page
using wp_nav_menu to show a custom menu in wordpress
get and show the featured image on a wordpress page template
link to a custom style sheet in your theme directory wordpress
wordpress show page content on template file
show post content on template wordpress
wordpress add a template file to your theme
fix for wordpress requesting ftp login details installing plugins
wordpress category list sorting custom
adding pagination to custom wp_query
add paging to wp list query
list items from blog and filter by category name
match a category id in wordpress and then add styles just for that id
get the current post id from content.php
wordpress get the current category id name and slug
get the wordpress category name from a category id
wordpress adding post custom field meta and displaying it on you template
getting the site title vs the page name
wordpress get home url
add a tag to wordpress header from a plugin
list items matching a category title
wp register plugin settings admin
Create a admin main wordpress custom menu item
wordpress show the parent page title with fallback to title
Add a post date to your custom wordpress post listing
wordpress get page content to display on template page
get the stylesheet directory in wordpress theme
wordpress register enqueue javascript require jquery
wordpress show the post content for use in a template
wordpress show posts loop with feature image thumbnail
wordpress get site url
wordpress advanced custom fields replace shortcode for site url with blog url
wordpress check home and not home for banners and things
wordpress use a shortcode in php gravity forms
wordpress include jquery in theme functions
wordpress enqueue slicknav and slick slider
wordpress show the page content for use in a template
wordpress change domain in config, wordpress domain config
wordpress get template directory
Related Search Terms
Other Categories in Code
alpine js apps c css factorio font awesome images linux quick modals sqlite site bugs site updates slick slider sliders testing windows apps apache api apps asp bat bootstrap bootstrap templates charts cookies core css css filters css grid design elements docker domains emoji fancybox fonts foundation framework gimp git html icons ideas image formatting images javascript javascript functions jquery js linux mac misc modals mysql nginx node php php errors php function php functions php simple html dom pi400 python react regex sections simple_html_dom simplepie php site bugs site documentation slick slider sql sqlite ssh sublime svg svg css templates tools virtual box vscode vue webdev windows windows 11 windows commands wordpress