Add Option if Not Exists

The logic on the IF THEN ELSE does seem a bit wonky. If I’m reading it correctly…

The call to get_option( $option_name ) will return FALSE if the option does not exist or if it has no value.

So the IF would be executed:

  1. when the option doesn’t exist and $new_value != FALSE
  2. the option has no value and $new_value != FALSE
  3. the option exists and has a value that is != $new value

The update_option() call would then update the value or create the option with $new_value.

The ELSE would be called if:

  1. the option exists and has the same value as $new_value
  2. the option does not exist and the $new_value == FALSE

Leave a Comment