it-swarm.com.de

wenn der Beitrag Inhalt hat

Ich richte eine einseitige WordPress-Site ein. Auf meiner Website werden einige Seiten aufgeführt, die keinen Inhalt haben. 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 diese Informationen veröffentlicht werden. Ich habe Probleme damit, es zum Laufen zu bringen. Ich verwende eine benutzerdefinierte Abfrage für die Homepage. Also dachte ich, ich könnte das machen

 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: Nicht definierte Eigenschaft: WP_Query :: $ post_content in

6
Jamie

Der Inhalt ist eine Eigenschaft des Objekts post und nicht des Abfrageobjekts.

Verwenden Sie stattdessen $post oder get_post():

if( '' !== get_post()->post_content ) {
// do something
}
9
fuxia

Dies funktioniert auch und prüft, ob der Inhalt leere Absatz-Tags oder   enthält, was dazu führen kann, 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. :O)

Gib das in deine functions.php ein:

function empty_content($str) {
    return trim(str_replace(' ','',strip_tags($str))) == '';
}

Und setzen Sie dies an die Stelle, an der Sie den Check ausführen möchten:

if (function_exists('empty_content') && empty_content($post->post_content)) { ... }

Das gibt true zurück, wenn der Inhalt leer ist, false, wenn nicht.

2
Michelle

Wie wäre es mit

if ( !empty( get_the_content() ) ){ 
//code 
}
2
Juan Solano