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

Inside of the my_plugin_menu() function, write out the function to add a link for a plugin options page to the admin nav

I read and took notes on the previous lesson. I'm still not understanding what I should write as the answer.

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



}


?>

4 Answers

I got the second part to work. Then the third part doesn't work stating, 'It looks like the first part is no longer passing' wth?

add_action('admin_menu','my_plugin_menu') function add_options_page ( ) { echo '<p>Welcome to my plugin settings page</p>';

} ?>

Almost there! It looks like you are missing the semi color after your add_action function. Just added that back in

<?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 'Welcome to my plugin settings page.';
  }
}
?>

Thank you for your time and consideration, Luke!

No problem! Did you get everything working?

Hello Sarah Augustine ,

I believe the function you need to use is add_options_page()

https://codex.wordpress.org/Function_Reference/add_options_page

<?php
 add_options_page("My Plugin Settings Page", "My Plugin", "manage_options", "my-plugin", "my_plugin_options_page");

?>

The comments in the function are what the values should be for each of the add_options_page function parameters.

The first part worked out, the second part, no. I'm fearful to read the third. LOL