Ich richte eine einseitige WordPress-Site ein. Ich erhalte einige Seiten auf meiner Website, die keinen Inhalt enthalten. Zum Beispiel bekomme ich die leere Blog-Seite sowie die Blog-Vorlage. Also dachte ich, ich könnte einen Scheck einwerfen, um zu sehen, ob die Seite Inhalt hat und ob sie diese Informationen veröffentlicht. Ich habe Probleme, es zum Laufen zu bringen. Ich verwende eine benutzerdefinierte Abfrage für die Homepage. Also dachte ich, ich könnte das tun
if ( $page_query->have_posts() ) : while ( $page_query->have_posts() ) : $page_query->the_post();
if( $page_query->post_content != ''){
get_template_part( 'content', get_post_format() );
}
endwhile; endif;
Das Problem ist, dass ich einen Fehler in diesem Code bekomme und nicht herausfinden kann, warum. Ich bekomme diesen Fehler
Hinweis: Undefinierte Eigenschaft: WP_Query :: $ post_content in
empty()
als Variable übergeben. Sie müssen es zuerst in einer Variablen speichern. Selbst dann funktioniert es nicht, da Ihr Inhalt möglicherweise einige Leerzeichen enthält.Dies funktioniert auch und testet auf Dinge wie leere Absatz-Tags oder
den Inhalt, die dazu führen können, dass eine normale Prüfung fehlschlägt. Die ursprüngliche Idee finden Sie unter http://blog.room34.com/archives/5360 . Nehmen Sie sie einfach hier auf, damit ich sie wiederfinden kann. :Ö)Fügen Sie dies in Ihre functions.php ein:
Und platzieren Sie dies dort, wo Sie die Prüfung ausführen möchten:
Das wird zurückgegeben,
true
wenn der Inhalt leer ist,false
wenn nicht.quelle
Ich habe einige "has_content ()" - Methoden seit mehreren Jahren implementiert und es gibt immer genug Zeit dazwischen, so dass ich noch einmal ein bisschen suchen muss, um diese Frage zu beantworten.
sowieso - das ist meine Lösung, die ich beim nächsten Mal gerne hier finde - also als Referenz.
Alle "Inside Loop" -Funktionen können durch Post-Objekte "post_content" ersetzt werden.
in functions.php und ähnlichen Dateien:
als Funktion
Vorlage innerhalb der Schleife:
quelle