Title: Odd issue with if/else statement
Last modified: August 19, 2016

---

# Odd issue with if/else statement

 *  Resolved [Doodlebee](https://wordpress.org/support/users/doodlebee/)
 * (@doodlebee)
 * [15 years, 3 months ago](https://wordpress.org/support/topic/odd-issue-with-ifelse-statement/)
 * Hello all –
 * I have a custom widget I’ve written, and it’s worked for quite a while now. But
   since 3.1, it’s no longer functioning. The part that isn’t working is a checkbox
   option to show or hide the title of the widget – and simple if/else statement
   to see if the box is checked.
 * `<p><input id="<?php echo $this->get_field_id('hide'); ?>" name="<?php echo $
   this->get_field_name('hide'); ?>" type="checkbox" <?php checked(isset($instance['
   hide']) ? $instance['hide'] : 0); ?> />&nbsp;<label for="<?php echo $this->get_field_id('
   hide'); ?>"><?php _e('Hide?'); ?></label></p>`
 * the `<?php checked(isset($instance['hide']) ? $instance['hide'] : 0); ?>` is 
   what determines if the box is checked or not, and I lifted this spot of code 
   directly from the default-widgets.php file back when I first wrote it (I think
   it might have been version 2.7 or something.) However, now, it doesn’t work. 
   If I check the box, no matter what I do, it remains unchecked.
 * I’ve also changed it to this: `<?php checked(isset($instance['hide']) ? true :
   false); ?>` and this `<?php checked(isset($instance['hide'])); ?>` and this `
   <?php checked($instance['hide']) ?>` and the latter two are the only ones that
   allow the checkbox to remain checked or unchecked based on what you do – it seems
   to retain what your decision is just fine BUT it returns nothing. Checked or 
   not, a var_dump ($hide) gives you NULL every time, which is odd to me.
 * Did something change in 3.1 for this? Does anyone know why it no longer works,
   and perhaps how to fix it?
 * Thanks 🙂

Viewing 2 replies - 1 through 2 (of 2 total)

 *  Thread Starter [Doodlebee](https://wordpress.org/support/users/doodlebee/)
 * (@doodlebee)
 * [15 years, 3 months ago](https://wordpress.org/support/topic/odd-issue-with-ifelse-statement/#post-1965340)
 * Okay, got it sorted. first off, I stupidly forgot to add the `$hide = $instance['
   hide'];` line in the function widget() area. but still, the only thing that worked
   was `<?php checked(isset($instance['hide'])); ?>` – adding the ‘? true : false’(
   or other) still made it not work. Which is really weird.
 *  [subiectiv](https://wordpress.org/support/users/subiectiv/)
 * (@subiectiv)
 * [14 years, 10 months ago](https://wordpress.org/support/topic/odd-issue-with-ifelse-statement/#post-1965708)
 * have tried to add the variable to the function you use?
 * you have in function widget() this:
    `$hide = $instance['hide'];` and in function
   update() `$instance['hide'] = $new_instance['hide']`
 * but is the $hide variable in the function that makes your widget work? as in:
 * `function myfunction($variable1, $variable2, $hide)`
 * It happens :))

Viewing 2 replies - 1 through 2 (of 2 total)

The topic ‘Odd issue with if/else statement’ is closed to new replies.

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 2 replies
 * 2 participants
 * Last reply from: [subiectiv](https://wordpress.org/support/users/subiectiv/)
 * Last activity: [14 years, 10 months ago](https://wordpress.org/support/topic/odd-issue-with-ifelse-statement/#post-1965708)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
