New Bookstore! Save 20% on books with discount code: LAUNCH
Web Dev + WordPress + Security

Conditionally Load WordPress Pages

Need to load a WordPress page conditionally? For example, perhaps you need a “special” page to appear for search results? Yes? This simple PHP/JavaScript solution may be just what the doctor ordered!

Simply replace “condition” with the required condition (or delete the if (condition) {} qualifier entirely), and then change the path and file names to suit your specific needs:

<?php
if (condition) {
	
	echo ("
		<script type=\"text/javascript\">
		<!--//--><![CDATA[//><!--
		
		parent.location='http://www.domain.com/path/to/file.html';
		
		//--><!]]>
		</script>
	");
	
} else {
	
	echo ("
		<script type=\"text/javascript\">
		<!--//--><![CDATA[//><!--
		
		parent.location='http://www.domain.com/path/to/other-file.html';
		
		//--><!]]>
		</script>
	");
	
}
?>

Specifically, I employ the following trickery in my Killer WordPress theme:

.
.
.
<?php endwhile; else: ?>
	
	<?php echo ("
		<script type=\"text/javascript\">
		<!--//--><![CDATA[//><!--
		
		parent.location='http://example.com/subdirectory/?p=58';
		
		//--><!]]>
		</script>
	"); ?>
	
<?php endif; ?>

The previous code chunk returns a specially designed search results page that is specifically tailored to suit the Killer theme. Works wonders.

Jeff Starr
About the Author
Jeff Starr = Web Developer. Book Author. Secretly Important.
Digging Into WordPress: Take your WordPress skills to the next level.
Welcome
Perishable Press is operated by Jeff Starr, a professional web developer and book author with two decades of experience. Here you will find posts about web development, WordPress, security, and more »
The Tao of WordPress: Become your own WordPress guru.
Thoughts
Book updates complete! DigWP, .htaccess, Tao-WP, and WP Themes books all updated and current with all the latest.
Stop giving so much juice to social media. Get a site and OWN your content.
I would give my left testicle for macOS Finder to remember column widths.
The chemical name for titin (the largest known protein) has 189,819 characters and takes several hours to pronounce.
Working on book updates, should be available for download sometime next week.
iCloud is like the Terminator. It will never stop trying to get your data. An endless fight on each Apple device to keep iCloud disabled and empty.
Take a screenshot with Firefox (no extension required). Open Developer Tools Settings and enable the “Take a screenshot” button. Then click the button :)
Newsletter
Get news, updates, deals & tips via email.
Email kept private. Easy unsubscribe anytime.