paged> max_num_pages wird 404 nicht casting

Ich habe eine neue Seite in der WP-Administration namens Blog erstellt und eine eigene Seitenvorlage dafür erstellt. In der Vorlage habe ich eine einfache benutzerdefinierte Abfrage.

$query = new WP_Query(array( 'post_type' => 'post', 'posts_per_page' => 1, 'paged' => $paged )); 

Alles scheint in Ordnung zu sein, außer wenn ich manuell eine größere Seitennummer eintippe als nach dem ‘/ Seite /’ Teil der URL verfügbar ist. Die Seite wird keinen 404-Fehler auslösen, aber die Seite wird ohne die benutzerdefinierte Schleife normal wiedergegeben. Ist es normales Verhalten? Wenn ja, wie sollte ich die 404-Template-Seite casting?

Außerdem habe ich eine Unterfrage:

Ist es möglich, eine benutzerdefinierte Themenseite zu erstellen, ohne dass die Seite in der WordPress-Administration erstellt werden muss? In den meisten Fällen verwende ich den Inhalt der Seite nicht einmal und lasse ihn leer. Wenn dann jemand die Seite löscht oder den Seiten-Slug ändert, kann ein Teil der Website beschädigt werden.

Gibt es eine narrensicherere und administrationsfreundlichere Lösung?

PS: Hier ist der vollständige Seiten-blog.php Quellcode:

 

'post', 'posts_per_page' => 1, 'paged' => $paged )); ?>
1){ ?> <a href="https://wordpress.stackexchange.com/questions/289362/paged-max-num-pages-wont-throw-404/" class="pagination-arrow arrow left arrow-left prev">
have_posts()): $query->the_post(); ?>
<div class="blog image" style="background-image: url('')">
name; $link = get_category_link($category->term_id); ?> <a href="https://wordpress.stackexchange.com/questions/289362/paged-max-num-pages-wont-throw-404/" class="catgory">

<a href="https://wordpress.stackexchange.com/questions/289362/paged-max-num-pages-wont-throw-404/">

<a class="link read-more" href="https://wordpress.stackexchange.com/questions/289362/paged-max-num-pages-wont-throw-404/" >číst..
<?php if($paged max_num_pages){ ?> <a href="https://wordpress.stackexchange.com/questions/289362/paged-max-num-pages-wont-throw-404/" class="pagination-arrow arrow right arrow-right right"> <?php if($paged max_num_pages){ ?>

post_title ?>

post_content; $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); ?>

Solutions Collecting From Web of "paged> max_num_pages wird 404 nicht casting"

Sie erhalten keinen 404, da WP die Seite finden kann und die Anforderung dann an die Vorlagendatei delegiert wird, in der Sie Ihre eigene Logik hinzugefügt haben.

Sie könnten Ihre eigene 404-Behandlung in dieser Datei erstellen, aber eine bessere Möglichkeit besteht darin, die Datei archive.php (oder archive-post.php nur für diesen Post-Typ) zu verwenden, um die Ausgabe zu rendern und die Aktion pre_get_posts zu verwenden, um die WP_Query zu manipulieren das wird verwendet, um Beiträge zu finden (Seitengröße anpassen). Wenn Sie es so machen, werden Sie feststellen, dass WP 404 korrekt austriggers, wenn die angeforderte Seite größer als die letzte verfügbare Seite ist.