Wird die 404-Seite automatisch angezeigt, wenn eine Schleife nichts zurückgibt?

Wenn Sie eine index.php mit einer Schleife wie:

 if(have_posts()){ while(have_posts()){ the_post(); } } 

Und nichts wird zurückgegeben, Sie würden im Allgemeinen tun:

 if(have_posts()){ while(have_posts()){ the_post(); } }else{ //display message } 

Was aber, wenn Sie eine 404.php ? Wird diese Seite angezeigt, wenn in Bezug auf die Schleife nichts zurückgegeben wird (vorausgesetzt, ich habe den else-Teil der Schleife nicht geschrieben)?

Solutions Collecting From Web of "Wird die 404-Seite automatisch angezeigt, wenn eine Schleife nichts zurückgibt?"

Wenn Sie das 404.php der 404.php Vorlage erzwingen 404.php , wenn keine gefundenen Posts vorhanden sind, verwenden Sie den Filter template_include :

 function wpa84794_template_check( $template ) { global $wp_query; if ( 0 == $wp_query->found_posts ){ $template = locate_template( array( '404.php', $template ), false ); } return $template; } add_filter( 'template_include', 'wpa84794_template_check' ); 

Überprüfen Sie die WordPress Template Hierarchy-Seite, insbesondere das Diagramm: http://codex.wordpress.org/Template_Hierarchy#Visual_Overview

Kurz gesagt, die Antwort ist nein, die 404.php wird nur verwendet, wenn die URL zu keinem anderen Vorlagentyp aufgetriggers wird.