[wp-hackers] Need help with: coding new Plugin options
Viper007Bond
viper at viper007bond.com
Wed Nov 5 11:03:07 GMT 2008
I don't have the time at the moment to read your code, but have you taken a
look at http://codex.wordpress.org/Creating_Options_Pages ?
On Wed, Nov 5, 2008 at 1:58 AM, Daiv Mowbray <daiv at daivmowbray.com> wrote:
> Hello list,
>
> Hoping someone can help me with this.
> I'm building my first plugin, and I'm lost in a deep dark hole at the
> plugin options stage.
>
> I am able to create the options page, and preload default options into the
> data base as an array.
> I am able to load default options into the form.
> I can save the form , but it saves all items as blank.
> Plus, without making changes to the options, I can't figure out how to pull
> the options and assign each
> item of the array to a variable to pass to my java script.
>
> I've included bellow, a reduced version of what I think are the primary
> elements.
> I'm sure I'm missing the boat here,
> It's just that I'm not sure weather it should be a canoe or a speedboat.
> Thanx for your time and assistance.
>
>
> /**********************Functions loading defaults into options
> table******************************/
> This bellow is called in the init function:
> $this->defaultAdminOptions = $this->setDefaultAdminOptions();
>
> function setDefaultAdminOptions() {
> $defaultAdminOptions = array("load_moo" => "true",
> "css_load" => "true");
>
> $defaultOptions = get_option($this->AdminOptionsName);
> if (!empty($defaultOptions)) {
> foreach ($defaultOptions as $key => $option) {
> $defaultAdminOptions[$key] = $option;
> }
> }
> update_option($this->AdminOptionsName,
> $defaultAdminOptions);
> return $defaultAdminOptions;
>
> }
>
> /**
> * Saves the admin options to the database.
> */
> function savedefaultAdminOptions(){
> update_option($this->AdminOptionsName,
> $this->defaultAdminOptions);
> }
>
> /**
> * Removes user set options from data base upon deactivation
> (triggered with the register_deactivation_hook)
> */
> function options_deactivation(){
> delete_option($AdminOptionsName);
>
> }
>
>
> /**********************Trying to update options on the form
> (reduced)******************************/
> if ( !current_user_can('manage_options') ) {
> die( __( 'ACCESS DENIED: Your don\'t have permission to do
> this.', 'superslider-menu' ) );
> }
> elseif ($_POST['action'] && $_POST['action'] ==
> 'update_ssm_options' ) {
>
> $ssmNewOptions =
> $this->savedefaultAdminOptions();
>
> // Did this $_POST come from our
> form?
> check_admin_referer('ssm_options');
>
> if
> (isset($_POST['update_ssm_options'])) {
> if
> (isset($_POST['op_load_moo'])) {
>
> $ssmNewOptions['load_moo'] = $_POST['op_load_moo'];
> }
> update_option($this->AdminOptionsName, $ssmNewOptions);
>
> // If we've updated settings, show a message
> echo '<div id="message" class="updated fade"><p><strong>' . __(
> 'SuperSlider-Menu Options saved.', 'superslider-menu' ) .
> '</strong></p></div>';
>
> }
> }
>
> /********************** The options page form (reduced):
> ******************************/
>
> <form name="ssm_options" method="post" action=""><!--<?php echo
> $_SERVER['REQUEST_URI'] ?> -->
> <?php if ( function_exists('wp_nonce_field') )
> wp_nonce_field('ssm_options'); echo "\n"; ?>
> <div style=""> <h2 style="display:inline; position: relative;"><?php
> _e('Plugin Options'); ?></h2></div>
> <fieldset>
> <legend><b><?php _e('Header Options'); ?>:</b></legend>
> <label for="op_load_moo"><input type="checkbox" name="load_moo"
> <?php if($ssmNewOptions['load_moo'] == "true") echo $checked; ?>
> id="op_load_moo" />
> <?php _e('Load Mootools 1.2 into your theme header.'); ?></label>
> <br /><small><?php _e(' Your theme, or another plugin may already
> load mootools.'); ?></small>
> </fieldset>
> <p class="submit">
> <input type="submit" name="update_ss_menu" id=
> "update_ss_menu" value="<?php _e('Update options'); ?> »" />
> <input type="hidden" name="action" value="update_ss_menu" />
> </p>
> </form>
>
> /********************** End code sample ******************************/
>
>
> ----------
> Daiv Mowbray
> daiv at daivmowbray.com
> ----------
>
>
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>
--
Viper007Bond | http://www.viper007bond.com/ | http://www.finalgear.com/
More information about the wp-hackers
mailing list