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 Creating a Plugin Settings Page

Brad Griffin
Brad Griffin
7,003 Points

I rewatched the video, I googled, I cheated, I copy/pasted others, I tweaked, I twerked, alas nothing but 'Bummer!'

For the love of all that's good and Holy, what the dickens am I missin' here folks? It's the 3rd step that says: Create the function called in the add_options_page() function. Inside of it, echo out "Welcome to my plugin settings page." and the dang thing keeps tellin' me I'm wrong.

plugin.php
<?php

function my_plugin_menu() {

    // Page Title: My Plugin Settings Page
    // Menu Title: My Plugin
    // Slug: Same as menu name, but with hyphens instead of spaces
    // Make sure user has ability to manage plugin options
    // my_plugin_options_page() is the function for what displays on the options page

      add_options_page(
      'My Plugin Settings Page',
      'My Plugin',
      'manage_options',
      'my-plugin',
      'my_plugin_options_page'
  );
}
add_action( 'admin_menu', 'my_plugin_menu');

function my_plugin_options_page() {

    if( !current_user_can( 'manage_options' ) ) {

        wp_die( 'You do not have sufficient permissions to access this page.' );

    }
  echo '<p>Welcome to my plugin settings page.</p>';
}
?>

2 Answers

Jeff Lemay
Jeff Lemay
14,268 Points

It looks like you did too much here. I was able to pass the challenge with your code, just took out the if statement:

<?php

function my_plugin_menu() {

    // Page Title: My Plugin Settings Page
    // Menu Title: My Plugin
    // Slug: Same as menu name, but with hyphens instead of spaces
    // Make sure user has ability to manage plugin options
    // my_plugin_options_page() is the function for what displays on the options page
        add_options_page(
      'My Plugin Settings Page',
      'My Plugin',
      'manage_options',
      'my-plugin',
      'my_plugin_options_page'
  );
}

add_action( 'admin_menu', 'my_plugin_menu');

function my_plugin_options_page() {
  echo '<p>Welcome to my plugin settings page.</p>';
}

?>
Brad Griffin
Brad Griffin
7,003 Points

Well, slap my fanny and call me Bertha! Thanks Jeff!!! That fixed it right up!