Warum zeigt the_content () den Inhalt nicht an? [geschlossen]

7

Auf meiner WordPress-Site zeigt the_content () den Inhalt nicht an, aber $ post-> post_content zeigt ihn an. Warum geschieht dies? und wie kann ich den_inhalt wieder verwenden?

srisar
quelle
2
Was ist der Code, der das umgibt? Bist du auf dem Laufenden?
Mor7ifer
Welches Thema verwenden Sie? Wenn es sich um ein benutzerdefiniertes Design handelt, muss der benutzerdefinierte Code für die betreffende Vorlagendatei angezeigt werden.
Chip Bennett
Ich bin auf eines dieser Probleme gestoßen. Ich glaube, es tritt aufgrund einer anderen WP_Query auf, die vor the_content () erstellt wurde.
ifdion
Ist mir beim Upgrade auf WP5
Fanky

Antworten:

9

Um "the_content ()" verwenden zu können, muss es in The Loop verwendet werden.

Siehe hier: http://codex.wordpress.org/Function_Reference/the_content

"Zeigt den Inhalt des aktuellen Beitrags an. Dieses Tag muss sich in The_Loop befinden."

Der Z-Mann
quelle
Es ist eine single.php und es hat funktioniert
srisar
4
aber wie funktioniert dann $ post-> post_content? Außerdem funktioniert the_title () auch ..
srisar
Sogar single.php muss The Loop enthalten, um den Inhalt und benutzerdefinierte Metafeldwerte abzurufen. Wie für the_title () [wenn ich mich nicht irre] ist ein immer definiertes Feld. Sie können keinen veröffentlichten Beitrag veröffentlichen, ohne dass ein Titel eingegeben wurde. Um technisch und WP korrekt zu sein, sollte sich the_title () auch in The Loop befinden. Wenn Sie gegen die Verwendung von The Loop und $ post-> post_content sind, können Sie den Inhalt jederzeit mit der Funktion apply_filters () anzeigen. codex.wordpress.org/Function_Reference/…
The Z Man
danke, für deine antwort habe ich mich nur gefragt, warum es nicht mehr funktioniert hat, es hat schon früher funktioniert. Trotzdem danke, wenn ich meine Schuld gefunden habe, werde ich sicherlich hier posten, damit es jemandem helfen kann.
Srisar
Kein Problem, Srisar! Viel Glück für die Zukunft. Wenn Sie eine bessere Lösung oder Antwort finden, ja, bitte posten Sie sie hier zurück :)
The Z Man
3

Wenn es vorher funktioniert hat, ist es wahrscheinlich ein Plugin, das sich in den Filter_content einfügt. Deaktivieren Sie Ihre Plugins nacheinander, um festzustellen, ob das Problem dadurch behoben wird. Überprüfen Sie als Nächstes die Rückruffunktionen für den the_contentFilter.

Sie können jeden Rückruf für the_content anzeigen, indem Sie Folgendes hinzufügen:

add_action('template_redirect', 'wpse_44152_template_redirect');
function wpse_44152_template_redirect(){
    global $wp_filter;
    print_r($wp_filter['the_content']);
}

Finden Sie jede der aufgelisteten Funktionen, indem Sie eine Codesuche in Dateien in Ihrem Code-Editor durchführen. Ein Filter-Rückruf MUSS $ content-Daten zurückgeben, damit the_content () ordnungsgemäß funktioniert.

Brian Fegter
quelle
1

Sie können Ihre functions.php in Ihrem Themenordner überprüfen und herausfinden, ob eine Funktion etwas für die Funktion "the_content" tut. Mein Thema hat das gleiche Problem, und ich habe festgestellt, dass eine Funktion einen Fehler aufweist und "the_content" nicht funktioniert

Finden Sie Text wie "the_content" in Ihrer functions.php,

LIXer
quelle