Suporte » Desenvolvendo com WordPress » the_content Como limitar em caracters?

  • Resolvido willdsg

    (@willdsg)


    Olá galera,
    estava editando meu thema onde desejo na página inicial exibir um while onde mostra as 2 ultima notícias. Porem quero limitar o corpo da notícia(the_content) em 160 caracteres, ou seja exibira o corpo da notícia porem depois de 160 caracteres ele adiciona um reticências(…).
    Abaixo segue meu código atual:

    <div class="miniconteudo">
    		<div class="flagesq">Ultimas noticias</div>
    		<?php query_posts('cat=15&posts_per_page=2');?>
    		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    			<ul><a href="<?php the_permalink() ?>" rel="bookmark"><span class="data"><?php the_title(); ?></a></span>
    				<li><?php the_content(); ?></li><br />
    			</ul>
    		<?php endwhile; else: ?>
    			<span class="titulo">Woops...</span>
        		<p>Desculpe, mas não foi encontrado nenhum artigo.</p>
        <?php endif; ?>
    </div>

    Alguém tem uma solução? Obrigado

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • Criador do tópico willdsg

    (@willdsg)

    Sim eu tenho conhecimento do the_excerpt porem não desejo usar o mesmo, pois desejo resumir o the_content mesmo, estava a utilizar o the_excerpt mas os espaço que tenho no meu tema é pequeno então resumir o corpo já tava de bom tamanho. Fuçando na net já encontrei sobre o substr porém nao consegui atribuir ao the_content, veja como fiz:

    <?php query_posts('cat=15&posts_per_page=2');?>
    		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    			<ul><a href="<?php the_permalink() ?>" rel="bookmark"><span class="data"><?php the_title(); ?></a></span>
    				<li>
    	<?php
    		$resumo = substr(the_content(), 0, 10).'...';
    		echo $resumo;
    	?>
    				</li><br />
    			</ul>
    		<?php endwhile; else: ?>
    			<span class="titulo">Woops...</span>
        		<p>Desculpe, mas não foi encontrado nenhum artigo.</p>
        <?php endif; ?>

    Alguém poderia me mostrar como ficaria meu código?
    Agradeço a atenção.

    Moderador Leo Baiano

    (@leobaiano)

    Ao invés de colocar o the_content() dentro do substr tente utilizar o get_the_content(), no seu código ficaria assim:

    <?php query_posts('cat=15&posts_per_page=2');?>
    		<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    			<ul><a href="<?php the_permalink() ?>" rel="bookmark"><span class="data"><?php the_title(); ?></a></span>
    				<li>
    	<?php
                    $content = get_the_content();
    		$resumo = substr($content, 0, 10).'...';
    		echo $resumo;
    	?>
    				</li><br />
    			</ul>
    		<?php endwhile; else: ?>
    			<span class="titulo">Woops...</span>
        		<p>Desculpe, mas não foi encontrado nenhum artigo.</p>
        <?php endif; ?>

    Agora sinceramente acredito que o the_excerpt() é o mais indicado para o seu caso, na documentação do wordpress eles explicam como definir a quantidade de caracteres do the_excerpt() e funcionaria da mesma forma que a acima.

    Criador do tópico willdsg

    (@willdsg)

    Muito obrigado leobaiano,
    não havia tentado com o get_the_content, genial!
    Era exatamente o que eu precisava, quanto ao the_excerpt() eu cheguei a fazer uso do mesmo, mesmo assim continuava quebrando, de qualquer forma não costumo usar o campo resumo em meus posts, pelo menos não agora.
    Mais uma vez obrigado leobaiano, espero poder ajudar alguém aqui na comunidade também.
    Obrigado. Bom dia.

    apliquei o codigo acima, só que ai perdeu a formatação do texto do wordpress, o texto fica todo colado, como se não tivesse espaçamento

    <?php
    $content = get_the_content();
    $resumo = substr($content, 0, 500).’…’;
    echo $resumo;
    ?>

    link http://www.mariagiuliese.com.br/

Visualizando 5 respostas - 1 até 5 (de um total de 5)
  • O tópico ‘the_content Como limitar em caracters?’ está fechado para novas respostas.