0

I am new in plugin development. I created a plugin with the help of http://codex.wordpress.org/Creating_Options_Pages

<?php

/*
Plugin Name: 1pluginframework
Plugin URI:
Description: Custom plugin for lendingbig website.
Version: 1.0
Author: Jahur Ahmed
Author URI:
License: GPLv2 or later
*/

// create custom plugin settings menu
add_action('admin_menu', 'baw_create_menu');

function baw_create_menu() {

    //create new top-level menu
    add_menu_page('BAW Plugin Settings', 'BAW Settings', 'administrator', __FILE__, 'baw_settings_page',plugins_url('/images/icon.png', __FILE__));

    //call register settings function
    add_action( 'admin_init', 'register_mysettings' );
}

function register_mysettings() {
    //register our settings
    register_setting( 'baw-settings-group', 'new_option_name' );
    register_setting( 'baw-settings-group', 'some_other_option' );
    register_setting( 'baw-settings-group', 'option_etc' );
}

function baw_settings_page() {
?>
<div class="wrap">
<h2>Your Plugin Name</h2>

<form method="post" action="options.php">
    <?php settings_fields( 'baw-settings-group' ); ?>
    <?php do_settings_sections( 'baw-settings-group' ); ?>
    <table class="form-table">
        <tr valign="top">
        <th scope="row">New Option Name</th>
        <td><input type="text" name="new_option_name" value="<?php echo get_option('new_option_name'); ?>" /></td>
        </tr>

        <tr valign="top">
        <th scope="row">Some Other Option</th>
        <td><input type="text" name="some_other_option" value="<?php echo get_option('some_other_option'); ?>" /></td>
        </tr>

        <tr valign="top">
        <th scope="row">Options, Etc.</th>
        <td><input type="text" name="option_etc" value="<?php echo get_option('option_etc'); ?>" /></td>
        </tr>
    </table>

    <?php submit_button(); ?>

</form>
</div>
<?php echo get_option('new_option_name'); ?>
<?php } ?>

I put this code in theme's header.php

<?php echo get_option('new_option_name'); ?>

When I deactivate this plugin, the value of <?php echo get_option('new_option_name'); ?>
is not disappeared. But this value must show when plugin is activated and will not show when it is deactivated.

Any suggestion is highly appreciated.

Thanks in advance to all.

2
Contributors
7
Replies
13
Views
3 Years
Discussion Span
Last Post by rubai
0

you need to use the delete_option(); on a deactivation method

register_deactivation_hook( __FILE__, 'remove_options' );

function remove_options()
{
    delete_options('plugin_options');
}
0

Hi gabrielcastillo,

Thanks for your answer. But it's not working, may be for my fault.

Here is my activation and deactivation code

function pluginframework_activation() {
}
register_activation_hook(__FILE__, 'pluginframework_activation');


function pluginframework_deactivation() {
}
// register_deactivation_hook(__FILE__, 'pluginframework_deactivation');

    register_deactivation_hook( __FILE__, 'remove_options' );
    function remove_options()
    {
    delete_options('plugin_options');
    }
0

Hi gabrielcastillo,
You are helping me a lot. :)

Can you give me full code? I am really new to this.

0

When creating options for plugin you need to register options settings array
Doc

So when you want to delete the settings options array, you would need to use delete_options with the registered settings var.

Doc

You could also use uninstall hook as well

Doc

I would need to see your code in order to investigate where you are going wrong.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.