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

Liam Clarke
MOD
Liam Clarke
Treehouse Moderator 19,188 Points

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
10,345 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