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!

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 Admin Area Forms in WordPress

Christopher van Ruitenbeek
Christopher van Ruitenbeek
13,705 Points

I'm getting an error on "Admin Area Forms in Wordpress" challenge -> Task 2

Q: Inside of the if statement, create a variable named "my_plugin_username". Assign it the HTML escaped value of the my_plugin_username input field.

I have this code:


function my_plugin_options_page() {

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

  if (isset ($_POST['my_plugin_hidden_field'] ) ) {
    $hidden_field = esc_html( $_POST['my_plugin_hidden_field']);

    if ($hidden_field == 'Y') {
      $my_plugin_username = esc_html( $_POST['my_plugin_username']);  


But it keeps telling me that I should wrap the post inside an 'esc_html' to sanitize it...

What is going wrong?

1 Answer

Sean T. Unwin
Sean T. Unwin
28,688 Points

You do not need the second if statement (although the line within that second conditional is correct; just in the wrong place), nor do you need the $hidden_field variable.

Only one if statement and one line within it is required at this stage of the Challenge (i.e. Task 2).