Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: WordPress Options Example
- Description: WordPress options page example for a question asked in <a href="https://www.facebook.com/groups/1709897292614128">WordPress For Developers Group</a>
- Plugin URI: https://www.facebook.com/groups/1709897292614128
- Author: Yehuda Hassine
- Author URI: https://www.facebook.com/groups/1709897292614128
- Version: 1.0
- License: GPL2
- */
- register_activation_hook( __FILE__, 'yh_activate' );
- function yh_activate() {
- add_option( 'yh_options_example', array( 'firstname' => '', 'lastname' => '' ) );
- }
- register_deactivation_hook( __FILE__, 'yh_deactivate' );
- function yh_deactivate() {
- delete_option( 'yh_options_example' );
- }
- add_action( 'admin_menu', 'yh_add_options_page' );
- function yh_add_options_page() {
- add_options_page( 'WordPress Options Example', 'WordPress Options Example', 'manage_options', 'yh', 'render_options_page' );
- }
- function render_options_page() {
- ?>
- <div class="wrap">
- <?php
- $options = get_option( 'yh_options_example' );
- if ( isset( $_POST['submit'] ) && isset( $_POST['data'] ) ) {
- $data = array_map( 'sanitize_text_field', wp_unslash( $_POST['data'] ) );
- update_option( 'yh_options_example', $data );
- ?>
- <div id="setting-error-settings_updated" class="updated settings-error notice is-dismissible">
- <p>
- <strong>Settings saved.</strong>
- </p>
- <button type="button" class="notice-dismiss">
- <span class="screen-reader-text">Dismiss this notice.</span>
- </button>
- </div>
- <?php } ?>
- <form action="" method="post">
- <label for="firstname">
- <input type="text" id="firstname" name="data[firstname]" value="<?php echo show_option( $options['data']['firstname'] ); ?>" />
- </label>
- <label for="lastname">
- <input type="text" id="lastname" name="data[lastname]" value="<?php echo show_option( $options['data']['lastname'] ); ?>" />
- </label>
- <button class="button button-primary" type="submit" name="submit">Submit</button>
- </form>
- </div>
- <?php
- }
- function show_option( $option ) {
- if ( $option && ! empty( $option ) ) {
- return esc_attr( $option );
- } else {
- return '';
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement