If you ever find yourself in a position where you need to force a 404, this can be done by hooking into the wp action hook and setting the 404 status on the $wp_query object via the set_404() object method. Doing this will ensure Wordpress checks for the 404.php template file and uses it, if available.
add_action('wp', function()
{
/** @var WP_Query $wp_query */
global $wp_query;
$wp_query->set_404();
});
wp hook?The wp hook is where the $wp_post and $wp_query variables are set up with the queried post data. You don’t have to use this particular hook, but you do have to use a hook somewhere between the wp hook and the loading of the actual markup template.
