0

Hello friends i am using this code for saving theme options. Now i want to display theme option which is saved on front end and how to save logo in this theme option i am stuck in it.

<?php
/*
 * Add the admin page
 */
add_action('admin_menu', 'options_admin_page');
function options_admin_page(){
    add_menu_page('options Settings', 'options', 'administrator', 'options-settings', 'options_admin_page_callback');
}

/*
 * Register the settings
 */
add_action('admin_init', 'options_register_settings');
function options_register_settings(){
    //this will save the option in the wp_options table as 'options_settings'
    //the third parameter is a function that will validate your input values
    register_setting('options_settings', 'options_settings', 'options_settings_validate');
}

function options_settings_validate($args){
    //$args will contain the values posted in your settings form, you can validate them as no spaces allowed, no special chars allowed or validate emails etc.
    if(!isset($args['options_email']) || !is_email($args['options_email'])){
        //add a settings error because the email is invalid and make the form field blank, so that the user can enter again
        $args['options_email'] = '';
    add_settings_error('options_settings', 'options_invalid_email', 'Please enter a valid email!', $type = 'error');   
    }

    //make sure you return the args
    return $args;
}

//Display the validation errors and update messages
/*
 * Admin notices
 */
add_action('admin_notices', 'options_admin_notices');
function options_admin_notices(){
   settings_errors();
}

//The markup for your plugin settings page
function options_admin_page_callback(){ ?>
    <div class="wrap">
    <h2>options Settings</h2>
    <form action="options.php" method="post"><?php
        settings_fields( 'options_settings' );
        do_settings_sections( __FILE__ );

        //get the older values, wont work the first time
        $options = get_option( 'options_settings' ); ?>
        <table class="form-table">
            <tr>
                <th scope="row">Email</th>
                <td>
                    <fieldset>
                        <label>
                            <input name="options_settings[options_email]" type="text" id="options_email" value="<?php echo (isset($options['options_email']) && $options['options_email'] != '') ? $options['options_email'] : ''; ?>"/>
                            <br />
                            <span class="description">Please enter a valid email.</span>
                        </label>
                    </fieldset>
                </td>
            </tr>
            <tr>
                <th scope="row">Add Logo</th>
                <td>
                    <fieldset>
                        <label>
                            <input type="file" name="logo_file" id="logo_file">
                        </label>
                    </fieldset>
                </td>
            </tr>
        </table>
        <input type="submit" value="Save" />
    </form>
</div>
<?php }
?>
  • Your question is not very clear. What is a theme option "which is saved on front end"? Options usually are set in the backend. And if it is already saved "on the front end", why are you asking "how to save"? – cjbj Oct 10 '16 at 11:06
  • options are saving properly and i am unable to do a code for saving a logo means upload a logo... second thing is how can i call options in my theme with if else condition. This is my question. – neil Oct 10 '16 at 11:10
  • " Add Logo " is not working its not saving a logo and if it save it store local path. – neil Oct 10 '16 at 11:32
0

Hello every one i found a way how to do this. Here is a code below

<?php
$my_option = get_option('option_settings');
$facebook=$my_option['facebook'];
$twitter=$my_option['twitter'];
echo $facebook;
echo $twitter;
?>

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.