Estou configurando um site WordPress de uma página. Estou recebendo algumas páginas listadas no meu site que não têm conteúdo. Por exemplo, receberei a página do blog vazia e o modelo do blog. Por isso, pensei em fazer uma verificação para ver se a página tem conteúdo e se ela segue adiante e publica essas informações. Estou tendo problemas para fazê-lo funcionar. Estou usando uma consulta personalizada para a página inicial. Então eu pensei que poderia fazer isso
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;
O problema é que recebo um erro nesse código e não consigo descobrir o porquê. Eu recebo este erro
Aviso: Propriedade indefinida: WP_Query :: $ post_content in
empty()
como uma variável. Você deve primeiro armazená-lo em uma variável. Mesmo assim, não funcionará, pois pode haver alguns espaços vazios no seu conteúdo.Isso também funciona e testa itens como tags de parágrafos vazios ou
conteúdo que pode causar falha na verificação normal. Veja http://blog.room34.com/archives/5360 para obter a ideia original - basta gravá-la aqui para que eu possa encontrá-la novamente. : O)Coloque isso em seu functions.php:
E coloque isso onde você deseja executar a verificação:
Isso retornará
true
se o conteúdo estiver vazio,false
se não estiver.fonte
Eu implementei alguns métodos "has_content ()" por várias vezes ao longo dos anos e sempre há tempo suficiente entre eles, então eu preciso procurar novamente um pouco para responder a esta pergunta.
de qualquer forma - esta é a minha solução, que eu gostaria de encontrar da próxima vez aqui - então é para referência.
todas as funções "loop interno" podem ser substituídas por objetos post "post_content"
em functions.php e arquivos similares:
como função
modelo dentro do loop:
fonte