Ich sehe den folgenden Code häufig in index.php-Dateien. Ich verstehe, dass is_front_page()
beim Anzeigen der Startseite der Website (unabhängig davon, ob der Blogpost-Index oder eine statische Seite is_home()
angezeigt wird ) true zurückgegeben wird , während beim Anzeigen des Blogpost- Index (unabhängig davon, ob er auf der Startseite oder einer statischen Seite angezeigt wird ) true zurückgegeben wird. Ich bin immer noch etwas ratlos über die Verwendung des folgenden Codes -
<?php if ( have_posts() ) : ?>
<?php if ( is_home() && ! is_front_page() ) : ?>
<header>
<h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1>
</header>
<?php endif; ?>
Jede Erklärung, warum dieser Code so beliebt ist, wird sehr geschätzt.
So machen Sie es richtig:
Dies ist die einzige (richtige) Möglichkeit, Inhalte mit Ihrer Homepage und Ihrer Blog-Seite anzuzeigen oder zu ändern.
quelle
Ich bin mir nicht sicher, ob "populär" ist, das scheint mir nicht so zu sein (aber dann schaue ich mir nicht so viele Themen an).
Sie scheinen genau zu verstehen, was jede Bedingung tut, daher sollte dies für Sie nicht verwirrend sein. Dies kombiniert Bedingungen zu überprüfen , dass Blog - Index angezeigt wird und es ist nicht auf der Titelseite.
Ah, der Grund für
single_post_title()
meine Vermutung ist, dass der Titel für$wp_query->queried object
(durch Hauptabfrage als aktueller Kontext eingerichtet) und nicht$post
global (durch iterierende Schleife eingerichtet) angezeigt wird.In einigen Fällen sind diese identisch, in solchen Fällen jedoch nicht, wenn eine Zustandsprüfung durchgeführt wird. Die Schleife enthält Beiträge , aber das abgefragte Objekt ist eine Seite (es sei denn, ich vermische die Dinge :).
quelle