Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

WordPress How to Build a WordPress Plugin Building a WordPress Plugin Settings Page CRUD with the WordPress Options Table: Part 2

whats wrong with my code...?

please help,im stuck

plugin.php
<?php


    $options = array();

    function my_plugin_options_page() {
        if( !current_user_can( 'manage_options' ) ) {
            wp_die( 'You do not have sufficient permissions to access this page.' );
        }

        global $options;

        if( isset( $_POST['my_plugin_hidden_field'] ) ) {
            $my_plugin_username = esc_html( $_POST['my_plugin_username'] );         
            $options['my_plugin_username'] = $my_plugin_username;
            $options['last_updated'] = time();
            update_option( 'my_plugin_options', $options );
        }


    $options = get_option( 'my_plugin_username' );

    if( $options != '' ) {

        $my_plugin_username = $options['my_plugin_username'];

    }

        require('includes/page-wrapper.php');


}

?>

2 Answers

Hello

Can you provide more information.

What do you expect to see?

What do you actually see?

What XDebug errors do you get?

Karn Sylvester
Karn Sylvester
11,179 Points

Hi Sedulous Simbarashe Kadzunge,

I've just completed this challenge and I can see that there is one piece of your code that needs to be adjusted to complete the challenge. I believe the error is with the line:

$options = get_option( 'my_plugin_username' );

The following contains the amendment in its entirety.

plugin.php
<?php


    $options = array();

    function my_plugin_options_page() {
        if( !current_user_can( 'manage_options' ) ) {
            wp_die( 'You do not have sufficient permissions to access this page.' );
        }

        global $options;

        if( isset( $_POST['my_plugin_hidden_field'] ) ) {
            $my_plugin_username = esc_html( $_POST['my_plugin_username'] );         
            $options['my_plugin_username'] = $my_plugin_username;
            $options['last_updated'] = time();
            update_option( 'my_plugin_options', $options );
        }


    $options = get_option( 'my_plugin_options' );

    if( $options != '' ) {

        $my_plugin_username = $options['my_plugin_username'];

    }

        require('includes/page-wrapper.php');


}

?>


I hope this helps :D