Jump to content

jonabajona107

New Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by jonabajona107

  1. I am writing the code for my options page in my wordpress theme. It was working for awhile and the next time i checked, it couldnt save. When i hit save, it redirects to options.php. When i remove the code for the social options it still doesnt work and yet it was working before i included that code. What could be the problem
    here is the code
     

    <?php
    
    /**
    
     * This function introduces a single theme menu option into the WordPress 'Appearance'
    
     * menu.
    
     */
    
     
    
    
    
     
    
     
    
    function blueray_theme_menu() {
    
     
    
        add_theme_page(
    
            'Blue Ray Theme',            // The title to be displayed in the browser window for this page.
    
            'Blue Ray Theme',            // The text to be displayed for this menu item
    
            'administrator',            // Which type of users can see this menu item
    
            'blueray_theme_menu',    // The unique ID - that is, the slug - for this menu item
    
            'blueray_theme_renderpage'     // The name of the function to call when rendering the page for this menu
    
        );
    
     
    
    } // end blueray_theme_menu
    
    add_action('admin_menu', 'blueray_theme_menu');
    
     
    
    /**
    
     * Renders a simple page to display for the theme menu defined above.
    
     */
    
    function blueray_theme_renderpage() {
    
     
    
        ?>
    
        <!-- Create a header in the default WordPress 'wrap' container -->
    
        <div class="wrap">
    
     
    
            <!-- Add the icon to the page -->
    
            <div id="icon-themes" class="icon32"></div>
    
            <h2>Blue Ray Theme Options</h2>
    
     
    
            <!-- Make a call to the WordPress function for rendering errors when settings are saved. -->
    
            <?php settings_errors(); ?>
    
            
    
    <?php $active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'display_options';?>
    
     
    
    <h2 class="nav-tab-wrapper">
    
        <a href="" class="nav-tab <?php echo $active_tab == 'display_options' ? 'nav-tab-active' : ''; ?>">Display Options</a>
    
        <a href="" class="nav-tab <?php echo $active_tab == 'social_options' ? 'nav-tab-active' : ''; ?>">Social Options</a>
    
    </h2>
    
    
    
    
    
            <!-- Create the form that will be used to render our options -->
    
           <form method="post" action="options.php">
    
        <?php
    
             
    
            if( $active_tab == 'display_options' ) {
    
                settings_fields( 'blueray_theme_display_options_page' );
    
                do_settings_sections( 'blueray_theme_display_options_page' );
    
            } else {
    
                settings_fields( 'blueray_theme_social_options_page' );
    
                do_settings_sections( 'blueray_theme_social_options_page' );
    
            } // end if/else
    
             
    
            submit_button();
    
             
    
        ?>
    
    </form>
    
     
    
        </div><!-- /.wrap -->
    
        <?php
    
         
    
    } // end blueray_theme_renderpage
    
    
    
    
    
    
    
    function blueray_initialize_theme_options() {
    
        
    
        if( false == get_option( 'blueray_theme_display_options' ) ) {
    
        add_option( 'blueray_theme_display_options' );
    
    } // end if
    
     
    
        // First, we register a section. This is necessary since all future options must belong to a
    
      add_settings_section(
    
        'general_settings_section',         // ID used to identify this section and with which to register options
    
        'Display Options',                  // Title to be displayed on the administration page
    
        'blueray_general_options_callback', // Callback used to render the description of the section
    
        'blueray_theme_display_options_page'     // Page on which to add this section of options
    
    );
    
         
    
        // Next, we'll introduce the fields for toggling the visibility of content elements.
    
       add_settings_field(
    
        'firstareatitle',                      // ID used to identify the field throughout the theme
    
        'First Area Title',                           // The label to the left of the option interface element
    
        'blueray_firstareatitle_callback',   // The name of the function responsible for rendering the option interface
    
        'blueray_theme_display_options_page',    // The page on which this option will be displayed
    
        'general_settings_section',         // The name of the section to which this field belongs
    
        array(                              // The array of arguments to pass to the callback. In this case, just a description.
    
            'First Area Title:'
    
        )
    
    );
    
     
    
    add_settings_field(
    
        'firstareatext',                    
    
        'First Area Text',             
    
        'blueray_firstareatext_callback',
    
        'blueray_theme_display_options_page',                   
    
        'general_settings_section',        
    
        array(                             
    
            'First Area Text:'
    
        )
    
    );
    
     
    
    add_settings_field(
    
        'firstarealink',                    
    
        'First Area Link',             
    
        'blueray_firstarealink_callback',
    
        'blueray_theme_display_options_page',                   
    
        'general_settings_section',        
    
        array(                             
    
            'First Area Link:'
    
        )
    
    );
    
         
    
        // Finally, we register the fields with WordPress
    
         
    
       register_setting(
    
        'blueray_theme_display_options_page',
    
        'blueray_theme_display_options_page'
    
    );
    
         
    
    } // end blueray_initialize_theme_options
    
    add_action('admin_init', 'blueray_initialize_theme_options');
    
     
    
    /* ------------------------------------------------------------------------ *
    
     * Section Callbacks
    
     * ------------------------------------------------------------------------ */
    
     
    
    function blueray_general_options_callback() {
    
        echo '<p>Set up the front page options</p>';
    
    } // end sandbox_general_options_callback
    
     
    
    /* ------------------------------------------------------------------------ *
    
     * Field Callbacks
    
     * ------------------------------------------------------------------------ */
    
     
    
    function blueray_firstareatitle_callback($args) {
    
         
    
       // First, we read the options collection
    
        $options = get_option('blueray_theme_display_options_page');
    
         
    
        // Next, we update the name attribute to access this element's ID in the context of the display options array
    
        // We also access the show_header element of the options collection in the call to the checked() helper function
    
        $html = '<input type="checkbox" id="firstareatitle" name="blueray_theme_display_options_page[firstareatitle]" value="1" ' . checked(1, $options['firstareatitle'], false) . '/>';
    
         
    
        // Here, we'll take the first argument of the array and add it to a label next to the checkbox
    
        $html .= '<label for="firstareatitle"> '  . $args[0] . '</label>';
    
         
    
        echo $html;
    
         
    
    } // end blueray_toggle_header_callback
    
     
    
    function blueray_firstareatext_callback($args) {
    
     
    
       $options = get_option('blueray_theme_display_options_page');
    
         
    
        // Next, we update the name attribute to access this element's ID in the context of the display options array
    
        // We also access the show_header element of the options collection in the call to the checked() helper function
    
        $html = '<input type="checkbox" id="firstareatext" name="blueray_theme_display_options_page[firstareatext]" value="1" ' . checked(1, $options['firstareatext'], false) . '/>';
    
         
    
        // Here, we'll take the first argument of the array and add it to a label next to the checkbox
    
        $html .= '<label for="firstareatext"> '  . $args[0] . '</label>';
    
         
    
        echo $html;
    
         
    
    } // end blueray_toggle_content_callback
    
     
    
    function blueray_firstarealink_callback($args) {
    
         
    
         $options = get_option('blueray_theme_display_options_page');
    
         
    
        // Next, we update the name attribute to access this element's ID in the context of the display options array
    
        // We also access the show_header element of the options collection in the call to the checked() helper function
    
        $html = '<input type="checkbox" id="firstarealink" name="blueray_theme_display_options_page[firstarealink]" value="1" ' . checked(1, $options['firstarealink'], false) . '/>';
    
         
    
        // Here, we'll take the first argument of the array and add it to a label next to the checkbox
    
        $html .= '<label for="firstarealink"> '  . $args[0] . '</label>';
    
         
    
        echo $html;
    
         
    
    } // end blueray_toggle_footer_callback
    
    
    
    
    
    /**
    
     * Initializes the theme's social options by registering the Sections,
    
     * Fields, and Settings.
    
     *
    
     * This function is registered with the 'admin_init' hook.
    
     */
    
    function blueray_theme_intialize_social_options() {
    
     
    
        // If the social options don't exist, create them.
    
        if( false == get_option( 'blueray_theme_social_options' ) ) {  
    
            add_option( 'blueray_theme_social_options' );
    
        } // end if
    
        
    
        
    
    add_settings_section(
    
        'social_settings_section',          // ID used to identify this section and with which to register options
    
        'Social Options',                   // Title to be displayed on the administration page
    
        'blueray_social_options_callback',  // Callback used to render the description of the section
    
        'blueray_theme_social_options_page'      // Page on which to add this section of options
    
    );    
    
        
    
    add_settings_field(
    
        'twitter',                     
    
        'Twitter',                         
    
        'blueray_twitter_callback',
    
        'blueray_theme_social_options_page',
    
        'social_settings_section'
    
    );
    
     
    
     add_settings_field(
    
        'facebook',                    
    
        'Facebook',                        
    
        'blueray_facebook_callback',   
    
        'blueray_theme_social_options_page',
    
        'social_settings_section'          
    
    );
    
     
    
    add_settings_field(
    
        'googleplus',                      
    
        'Google+',                         
    
        'blueray_googleplus_callback',
    
        'blueray_theme_social_options_page',
    
        'social_settings_section'          
    
    );
    
     
    
     register_setting(
    
        'blueray_theme_social_options_page',
    
        'blueray_theme_social_options_page',
    
        'blueray_theme_sanitize_social_options_page'
    
    );
    
    } // end sandbox_theme_intialize_social_options
    
    add_action( 'admin_init', 'blueray_theme_intialize_social_options' );
    
    
    
    function blueray_social_options_callback() {
    
        echo '<p>Provide the URL to the social networks you\'d like to display.</p>';
    
    } // end blueray_social_options_callback
    
    
    
    function blueray_twitter_callback() {
    
         
    
        // First, we read the social options collection
    
        $options = get_option( 'blueray_theme_social_options_page' );
    
         
    
        // Next, we need to make sure the element is defined in the options. If not, we'll set an empty string.
    
        $url = '';
    
        if( isset( $options['twitter'] ) ) {
    
            $url = $options['twitter'];
    
        } // end if
    
         
    
        // Render the output
    
        echo '<input type="text" id="twitter" name="blueray_theme_social_options_page[twitter]" value="' . $options['twitter'] . '" />';
    
         
    
    } // end blueray_twitter_callback
    
    
    
    function blueray_facebook_callback() {
    
         
    
        $options = get_option( 'blueray_theme_social_options_page' );
    
         
    
        $url = '';
    
        if( isset( $options['facebook'] ) ) {
    
            $url = $options['facebook'];
    
        } // end if
    
         
    
        // Render the output
    
        echo '<input type="text" id="facebook" name="blueray_theme_social_options_page[facebook]" value="' . $options['facebook'] . '" />';
    
         
    
    } // end blueray_facebook_callback
    
     
    
    function blueray_googleplus_callback() {
    
         
    
        $options = get_option( 'blueray_theme_social_options_page' );
    
         
    
        $url = '';
    
        if( isset( $options['googleplus'] ) ) {
    
            $url = $options['googleplus'];
    
        } // end if
    
         
    
        // Render the output
    
        echo '<input type="text" id="googleplus" name="blueray_theme_social_options_page[googleplus]" value="' . $options['googleplus'] . '" />';
    
         
    
    } // end sandbox_googleplus_callback
    
    
    
    
    
    
    
    function blueray_theme_sanitize_social_options_page( $input ) {
    
         
    
        // Define the array for the updated options
    
        $output = array();
    
     
    
        // Loop through each of the options sanitizing the data
    
        foreach( $input as $key => $val ) {
    
         
    
            if( isset ( $input[$key] ) ) {
    
                $output[$key] = esc_url_raw( strip_tags( stripslashes( $input[$key] ) ) );
    
            } // end if
    
         
    
        } // end foreach
    
         
    
        // Return the new collection
    
        return apply_filters( 'blueray_theme_sanitize_social_options_page', $output, $input );
    
     
    
    } // end blueray_theme_sanitize_social_options_page
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.