You want to “reverse” your logic, in a sense. You need “not (home or front)”, not “not home and not front”. For example:
// var_dump(is_home(),is_front_page(),(is_home() || is_front_page()),!(is_home() || is_front_page())); // debug
if ( !(is_home() || is_front_page()) ) {
echo "Hello World";
} else {
echo "Else World";
}
An easier, more readable way to write the same thing is:
if ( is_home() || is_front_page() ) {
echo "Else World";
} else {
echo "Hello World";
}
Please be aware that theis_home()
and is_front_page()
functions can be confusing.