Je suis en train de mettre en place un site WordPress d'une page. Je reçois des pages répertoriées sur mon site qui n'ont pas de contenu. Par exemple, je vais obtenir la page de blog vide ainsi que le modèle de blog. Alors j'ai pensé que je pourrais jeter un chèque pour voir si la page a du contenu et si elle va de l'avant et affiche cette information. J'ai du mal à le faire fonctionner. J'utilise une requête personnalisée pour la page d'accueil. Alors j'ai pensé que je pouvais le faire
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;
le problème est que je reçois une erreur sur ce code et je ne peux pas comprendre pourquoi. Je reçois cette erreur
Remarque: propriété non définie: WP_Query :: $ post_content in
Le contenu est une propriété de l'objet post
et non de l'objet de requête.
Utilisez $post
ou get_post()
à la place:
if( '' !== get_post()->post_content ) {
// do something
}
Cela fonctionne également et teste des éléments tels que les balises de paragraphe vides ou
dans le contenu, ce qui pourrait provoquer l'échec d'une vérification normale. Voir http://blog.room34.com/archives/5360 pour l'idée originale - il suffit de l'enregistrer ici pour que je puisse la retrouver. : O)
Mettez ceci dans votre functions.php:
function empty_content($str) {
return trim(str_replace(' ','',strip_tags($str))) == '';
}
Et mettez ceci où vous voulez lancer le contrôle:
if (function_exists('empty_content') && empty_content($post->post_content)) { ... }
Cela retournera true
si le contenu est vide, false
sinon.
Qu'en est-il de
if ( !empty( get_the_content() ) ){
//code
}