it-swarm.com.de

Statische Seite Homepage zeigt den_Inhalt nicht an

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?

3
dragonfeet2012

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:

  1. Sie verwenden 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.
  2. Sie durchlaufen diesen Inhalt mit while(have_posts())
  3. Sie führen 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.
  4. Nachdem 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.

Referenz

https://codex.wordpress.org/Class_Reference/WP_Query#Methods

9
s_ha_dum

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.

4
Milo