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)?
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.