Guest User

Wordpress API Settings

a guest
Jun 20th, 2013
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.     class Liv_Theme_Settings{
  3.        
  4.         var $options;
  5.        
  6.         public function __construct(){
  7.             $this->options  = get_option('liv_settings');
  8.         }
  9.        
  10.         public function menu_option() {
  11.             add_options_page( "Liv Settings", "Liv Settings", 'manage_options', __FILE__, array($this, 'show_settings') );
  12.             //add_menu_page( "Liv Settings", "Liv Settings", 'manage_options', __FILE__, array($this, 'show_settings'), '', 100 );
  13.         }      
  14.        
  15.         public function show_settings(){?>
  16.             <div id="theme-options-wrap">
  17.             <div class="icon32" id="icon-tools">
  18.             </div>
  19.             <h2 style="padding-top:15px;">Configuración</h2>
  20.             <form method="post" action="options.php" enctype="multipart/form-data">
  21.             <?php
  22.  
  23.             settings_fields('liv_settings');
  24.            
  25.             do_settings_sections(__FILE__);
  26.            
  27.             ?>
  28.             <p class="submit"><input name="Submit" type="submit"
  29.                 class="button-primary" value="<?php esc_attr_e('Save Changes'); ?>" />
  30.             </p>
  31.             </form>
  32.             </div>
  33.             <?php
  34.         }
  35.        
  36.         public function register_and_create_fields(){
  37.             register_setting('liv_settings', 'liv_settings', array($this, 'validate_setting'));
  38.        
  39.             add_settings_section('general_settings', '', array($this, 'show_general_settings_section'), __FILE__);
  40.        
  41.             add_settings_field('contact_mail', 'Mail de contacto:', array($this, 'show_contact_mail'), __FILE__, 'general_settings');
  42.         }
  43.        
  44.         function show_contact_mail(){
  45.             echo "<input class='settings_input_field' name='liv_settings[contact_mail]' id='contact_mail' type='text' value='".$this->get_option('contact_mail')."' />";
  46.         }
  47.        
  48.        
  49.         function show_general_settings_section(){
  50.         }
  51.        
  52.        
  53.         public function validate_setting($plugin_options){
  54.             return $plugin_options;
  55.         }
  56.        
  57.         function get_option($field_id){
  58.             return @$this->options[$field_id];
  59.         }      
  60.        
  61.     }
  62.    
  63.     global $liv_settings;
  64.    
  65.     $liv_settings   = new Liv_Theme_Settings();
  66.    
  67.     add_action( 'admin_menu', array($liv_settings, 'menu_option' ));
  68.     add_action('admin_init', array($liv_settings, 'register_and_create_fields'));  
  69. ?>
Advertisement
Add Comment
Please, Sign In to add comment