Advertisement
Guest User

pluginname.php

a guest
Oct 20th, 2013
380
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.70 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: Plugin Name
  4. Plugin URI:
  5. Description: Description
  6. Version: 0.0.1
  7. Author: Author Name
  8. Author URI:
  9. License: GPL3+
  10. */
  11.  
  12. add_action( 'admin_menu', 'pluginname_menu' );
  13.  
  14. function pluginname_menu()
  15.     {
  16.     add_options_page( 'PluginName Options', 'pluginname', 'manage_options', 'pluginname_options_page', 'pluginname_options_page' );
  17.     }
  18.  
  19. add_action( 'admin_init', 'pluginname_admin_init' );
  20.  
  21. function pluginname_admin_init()
  22.     {
  23.     register_setting( 'pluginname_options', 'pluginname-settings' );
  24.     add_settings_section( 'section-one', 'Section One', 'pluginname_section_callback', 'pluginname_options-section-one' );
  25.     $options_array = get_option('pluginname-settings');
  26.     add_settings_field( 'optionname-one', 'First Option', 'pluginname_field_callback', 'pluginname_options-section-one', 'section-one', array(
  27.     'name' => 'pluginname-settings[optionname-one]',
  28.     'value' => isset($options_array['optionname-one']) ? $options_array['optionname-one'] : '42')
  29.     );
  30.     add_settings_field( 'optionname-two', 'Second Option', 'pluginname_field_callback', 'pluginname_options-section-one', 'section-one', array(
  31.     'name' => 'pluginname-settings[optionname-two]',
  32.     'value' => isset($options_array['optionname-two']) ? $options_array['optionname-two'] : '42')
  33.     );
  34.     add_settings_section( 'section-two', 'Section Two', 'pluginname_section_callback', 'pluginname_options-section-two' );
  35.     add_settings_field( 'optionname-three', 'Third Option', 'pluginname_field_callback', 'pluginname_options-section-two', 'section-two', array(
  36.     'name' => 'pluginname-settings[optionname-three]',
  37.     'value' => isset($options_array['optionname-three']) ? $options_array['optionname-three'] : '42')
  38.     );
  39.     add_settings_field( 'optionname-four', 'Fourth Option', 'pluginname_field_callback', 'pluginname_options-section-two', 'section-two', array(
  40.     'name' => 'pluginname-settings[optionname-four]',
  41.     'value' => isset($options_array['optionname-four']) ? $options_array['optionname-four'] : '42')
  42.     );
  43.     }
  44.  
  45. function pluginname_validate($input)
  46.     {
  47.     return $input;
  48.     }
  49.  
  50. function pluginname_section_callback()
  51.     {
  52.     echo 'Feel free to change parameters below.';
  53.     }
  54.  
  55. function pluginname_field_callback( $args )
  56.     {
  57.     $name = esc_attr( $args['name'] );
  58.     $value = esc_attr( $args['value'] );
  59.     echo "<input type='text' name='$name' value='$value' /> ";
  60.     }
  61.  
  62. function pluginname_tab1()
  63.     {
  64.     echo "<form action=\"options.php\" method=\"POST\">";
  65.     settings_fields( 'pluginname_options' );
  66.     do_settings_sections( 'pluginname_options-section-one' );
  67.     submit_button('Update', 'primary',  'submit-form', false);
  68.     echo "</form>";
  69.     }
  70.  
  71. function pluginname_tab2()
  72.     {
  73.     echo "<form action=\"options.php\" method=\"POST\">";
  74.     settings_fields( 'pluginname_options' );
  75.     do_settings_sections( 'pluginname_options-section-two' );
  76.     submit_button('Update', 'primary',  'submit-form', false);
  77.     echo "</form>";
  78.     }
  79.  
  80. function pluginname_options_page()
  81.     {
  82.     ?>
  83.     <div class="wrap">
  84.         <h2>Options</h2>
  85.         <h2 class="nav-tab-wrapper">
  86.         <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>
  87.         <a href="?page=pluginname_options_page&tab=2" class="nav-tab <? if ( $_GET['tab'] == '2' ) echo "nav-tab-active"; ?>">Section Two Options</a>
  88.         </h2>
  89.         <?php $current_tab = $_GET['tab'];
  90.         switch ($current_tab)
  91.             {
  92.             case '2' : pluginname_tab2(); break;
  93.             default: pluginname_tab1();
  94.             } ?>
  95.     </div>
  96.     <?php
  97. }
  98. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement