Tem basicamente duas formas de fazer. Pela tag “more” e por excerpt.
Pela tag “more” (leia mais)
Entre no seu painel e edite um dos seus posts.
No editor de texto, clique onde vc quer que o texto seja cortado (por exemplo, no fim do primeiro parágrafo).
Procure pelo botão “Inserir a tag leia mais”, ou coloque este código neste ponto do texto, no modo de edição HTML: <!--more-->
Você deve fazer isso para todos os seus posts.
Por excerpt (resumo)
Nesse modo, você deve editar o código das páginas que vc quer que apareça só um pedaço dos posts, como vc disse a index.php e archive.php.
Dentro desses arquivos, encontre a função the_content();
e susbstitua por the_excerpt();
Assim, o WordPress vai exibir apenas um resumo, com as primeiras 55 palavras do post, em vez do post inteiro. E você não precisa editar nenhum post com este método.
Complemententando a solução da Anyssa, você pode ter um maior controle do resumo (excerpt) colocando no seu arquivo functions o código:
// Limite de caracteres
function excerpt($limit) {
$excerpt = explode(‘ ‘, get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(” “,$excerpt).’…’;
} else {
$excerpt = implode(” “,$excerpt);
}
$excerpt = preg_replace(‘\[[^\]]*\]
‘,”,$excerpt);
return $excerpt;
}
e onde o resumo vai aparecer no index ou archive:
<?php echo excerpt(’20’); ?>
onde 20 é o número de caracteres. Altere para o número que desejar.