Ich muss hier etwas falsch machen.
Ich richte meine Seite mit einer statischen Startseite mit front-page.php ein. Ich habe im Admin eine Seite mit einem Titel erstellt und in der Vorlagen-Dropdown-Liste die Datei front-page.php ausgewählt.
Mein Titel wird gut angezeigt, aber the_content (); nicht.
Ich mache nichts spezielles wie unten gezeigt.
<?php
/*
Template Name: Homepage
*/ ?>
<?php get_header(); ?>
<div class="content">
<div class="welcome_area">
<div class="welcome_area_title"><?php the_title('');?></div>
<div class="welcome_area_text">
<?php the_content(); ?>
</div>
Irgendwelche Ideen, warum der Inhalt nicht angezeigt wird?
Du hast nicht wirklich einen Loop.
<?php get_header(); ?>
<div class="content">
<div class="welcome_area">
<div class="welcome_area_title"><?php the_title('');?></div>
<div class="welcome_area_text"><?php
if (have_posts()) {
while (have_posts()) {
the_post();
the_content();
}
} ?>
Was passiert ist:
have_posts()
, um zu überprüfen, ob Sie Inhalte veröffentlichen. Sie können eine else
-Klausel verwenden, um Standardinhalte bereitzustellen, wenn Sie möchten.while(have_posts())
the_post()
aus, um die Variable $post
einzurichten und den Schleifenzähler zu erhöhen. Versuchen Sie dies ohne the_post()
und Sie erhalten eine Endlosschleife. Dies ist der kritischste Teil, der in Ihrem Code fehlte.the_post()
ausgeführt wurde, sollten Ihre Post-Template-Tags wie erwartet funktionieren.Ich habe Ihren Code nicht zu radikal bearbeitet, aber ich würde diesen the_title
auch in die Schleife bringen, selbst wenn er zu funktionieren scheint. Es sollte wirklich innerhalb der Schleife sein und es funktioniert außerhalb der Schleife nicht immer wie erwartet.
https://codex.wordpress.org/Class_Reference/WP_Query#Methods
Wenn Sie Ihre Seite als statische Startseite festlegen, müssen Sie die Vorlage zunächst nicht mit der Seite verknüpfen, und für die Vorlage ist keine Kopfzeile erforderlich. WordPress verwendet automatisch die Vorlage front-page.php
für eine statische Titelseite gemäß der Vorlagenhierarchie .
Um Ihre Frage zu beantworten, müssen Sie zuerst the_post()
aufrufen, um die globalen Variablen einzurichten, auf die sich die Funktion the_content()
stützt.