Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Plugin Name
- Plugin URI:
- Description: Description
- Version: 0.0.1
- Author: Author Name
- Author URI:
- License: GPL3+
- */
- add_action( 'admin_menu', 'pluginname_menu' );
- function pluginname_menu()
- {
- add_options_page( 'PluginName Options', 'pluginname', 'manage_options', 'pluginname_options_page', 'pluginname_options_page' );
- }
- add_action( 'admin_init', 'pluginname_admin_init' );
- function pluginname_admin_init()
- {
- register_setting( 'pluginname_options', 'pluginname-settings' );
- add_settings_section( 'section-one', 'Section One', 'pluginname_section_callback', 'pluginname_options-section-one' );
- $options_array = get_option('pluginname-settings');
- add_settings_field( 'optionname-one', 'First Option', 'pluginname_field_callback', 'pluginname_options-section-one', 'section-one', array(
- 'name' => 'pluginname-settings[optionname-one]',
- 'value' => isset($options_array['optionname-one']) ? $options_array['optionname-one'] : '42')
- );
- add_settings_field( 'optionname-two', 'Second Option', 'pluginname_field_callback', 'pluginname_options-section-one', 'section-one', array(
- 'name' => 'pluginname-settings[optionname-two]',
- 'value' => isset($options_array['optionname-two']) ? $options_array['optionname-two'] : '42')
- );
- add_settings_section( 'section-two', 'Section Two', 'pluginname_section_callback', 'pluginname_options-section-two' );
- add_settings_field( 'optionname-three', 'Third Option', 'pluginname_field_callback', 'pluginname_options-section-two', 'section-two', array(
- 'name' => 'pluginname-settings[optionname-three]',
- 'value' => isset($options_array['optionname-three']) ? $options_array['optionname-three'] : '42')
- );
- add_settings_field( 'optionname-four', 'Fourth Option', 'pluginname_field_callback', 'pluginname_options-section-two', 'section-two', array(
- 'name' => 'pluginname-settings[optionname-four]',
- 'value' => isset($options_array['optionname-four']) ? $options_array['optionname-four'] : '42')
- );
- }
- function pluginname_validate($input)
- {
- return $input;
- }
- function pluginname_section_callback()
- {
- echo 'Feel free to change parameters below.';
- }
- function pluginname_field_callback( $args )
- {
- $name = esc_attr( $args['name'] );
- $value = esc_attr( $args['value'] );
- echo "<input type='text' name='$name' value='$value' /> ";
- }
- function pluginname_tab1()
- {
- echo "<form action=\"options.php\" method=\"POST\">";
- settings_fields( 'pluginname_options' );
- do_settings_sections( 'pluginname_options-section-one' );
- submit_button('Update', 'primary', 'submit-form', false);
- echo "</form>";
- }
- function pluginname_tab2()
- {
- echo "<form action=\"options.php\" method=\"POST\">";
- settings_fields( 'pluginname_options' );
- do_settings_sections( 'pluginname_options-section-two' );
- submit_button('Update', 'primary', 'submit-form', false);
- echo "</form>";
- }
- function pluginname_options_page()
- {
- ?>
- <div class="wrap">
- <h2>Options</h2>
- <h2 class="nav-tab-wrapper">
- <a href="?page=pluginname_options_page&tab=1" class="nav-tab <? if ( @( $_GET['tab'] == '1' ) || !isset($_GET['tab'])) echo "nav-tab-active"; ?>">Section One Options</a>
- <a href="?page=pluginname_options_page&tab=2" class="nav-tab <? if ( $_GET['tab'] == '2' ) echo "nav-tab-active"; ?>">Section Two Options</a>
- </h2>
- <?php $current_tab = $_GET['tab'];
- switch ($current_tab)
- {
- case '2' : pluginname_tab2(); break;
- default: pluginname_tab1();
- } ?>
- </div>
- <?php
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement