Post Resumido
-
Gostaria de saber se tem algum plugin que automaticamente resuma todos posts em 300caracteres um exemplo..
E apareça o botão “leia o resto” para os visitantes lerem o resto do POST.
E se for para fazer manualmente como faz?
Fico no aguardo!
Obrigado!
-
Cara to tentando descobrir isso faz tempo aqui nesse fórum, mas ninguem da sinal de vida ¬¬
Se eu descobrir eu dou um UP pra vc!
Abrçs man!
Nos arquivos de paginação do tema (ex: category.php, search.php) onde deseja exibir apenas o resumo informe the_excerpt() ao invés de the_content() e no functions.php inclua
function new_excerpt_more($more) { global $post; return '<a href="'. get_permalink($post->ID) . '">' . 'Leia mais...' . '</a>'; } add_filter('excerpt_more', 'new_excerpt_more');
Não entendi muito bem eu tenho que editar os arquivos “category e search” e alterar o the_content() para the_excerpt()?
Pode dar algum problema? pois não uso o search pois uso a busca do google ads :XAmigo, olha, por coicidencia achei um plugin que faz isso, mais cade eu me lembrar o nome do elemento, auhauhauhauhauhau…
Vi ele quando buscava por plugins no wordpress e classifiquei pelos mais baixandos, enfim, não me interessei pelo plugin e fiz essa proeza no braço com a ajuda de um membro da comunidade.Para adicionar um “read more” automaticamente nos posts, faça o seguinte:
1º vai no teu “functions.php” e joga esse codigo lá:
function the_content_limit($max_char, $more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { $content = get_the_content($more_link_text, $stripteaser, $more_file); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); $content = strip_tags($content); if (strlen($_GET['p']) > 0) { echo "<p>"; echo $content; echo " <a href='"; the_permalink(); echo "'>"."Leia mais →</a>"; echo "</p>"; } else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) { $content = substr($content, 0, $espacio); $content = $content; echo "<p>"; echo $content; echo "..."; echo " <a href='"; the_permalink(); echo "'>".$more_link_text."</a>"; echo "</p>"; } else { echo "<p>"; echo $content; echo " <a href='"; the_permalink(); echo "'>"."Leia mais →</a>"; echo "</p>"; } }
No meu caso, meu “functions.php” ficou assim:
<?php if(function_exists("register_sidebar")){ register_sidebar(array( "before_widget"=> "<li>", "after_widget" =>"</li>", "before_title" => "<h2>", "after_title" =>"</h2>", )); function the_content_limit($max_char, $more_link_text = '(more...)', $stripteaser = 0, $more_file = '') { $content = get_the_content($more_link_text, $stripteaser, $more_file); $content = apply_filters('the_content', $content); $content = str_replace(']]>', ']]>', $content); $content = strip_tags($content); if (strlen($_GET['p']) > 0) { echo "<p>"; echo $content; echo " <a href='"; the_permalink(); echo "'>"."Leia mais →</a>"; echo "</p>"; } else if ((strlen($content)>$max_char) && ($espacio = strpos($content, " ", $max_char ))) { $content = substr($content, 0, $espacio); $content = $content; echo "<p>"; echo $content; echo "..."; echo " <a href='"; the_permalink(); echo "'>".$more_link_text."</a>"; echo "</p>"; } else { echo "<p>"; echo $content; echo " <a href='"; the_permalink(); echo "'>"."Leia mais →</a>"; echo "</p>"; } } } ?>
Depois que tiver configurado seu “functions.php” da forma descrita acima, vai no arquivo onde ta o código que define onde aparece o “read more” (leia mais), geralmente no index.php, localize o:
<?php the_content("<b> Leia Mais...</b>");?>
Ou algo parecido e substitua por:
<?php the_content_limit(50, 'Leia mais...');?>
ta vendo ali onde tá 50, alí é a quantidade de caracters que vc quer que fique! No meu caso usei 300!Funciona perfeitamente.
By.:
renato_sPostei como o meu functions.php ficou pra no caso de você não entender onde exatamente colocar o código, caso tenha esse problema, copia o meu, mais cuidado, de theme pra theme pode dar problema, qualquer coisa vc posta ai que te ajudo.
Abraço.Eu utilizei o <?php the_content_limit(50, ‘Leia mais…’);?> e ficou PERFEITO… mas tenho uma pergunta…. na página de entrada aparece as 50 palavras.. quando vc CLICA EM LEIA MAIS… esta é DIRECIONADA a página contendo TODO O TEXTO… mas com detalhe, no final dele AINDA aparece o leia mais… como tirar nesta página (o texto inteiro) o dizer “leia mais”?
Amigo, parece que temos um problema, você criou o arquivo “single.php”?
Caso não tenha criado, crie ele.
Caso ja tenha ele posta aqui pra mim dar uma olhada em seu conteúdo.sinto muito, não postei o conteúdo do single, veja o mesmo, esse é o do theme default do WP 3.0.1 o “twentyten”
<?php /** * The Template for displaying all single posts. * * @package WordPress * @subpackage Twenty_Ten * @since Twenty Ten 1.0 */ get_header(); ?> <div id="container"> <div id="content" role="main"> <?php if ( have_posts() ) while ( have_posts() ) : the_post(); ?> <div id="nav-above" class="navigation"> <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div> <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '→', 'Next post link', 'twentyten' ) . '</span>' ); ?></div> </div><!-- #nav-above --> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <h1 class="entry-title"><?php the_title(); ?></h1> <div class="entry-meta"> <?php twentyten_posted_on(); ?> </div><!-- .entry-meta --> <div class="entry-content"> <?php the_content(); ?> <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?> </div><!-- .entry-content --> <?php if ( get_the_author_meta( 'description' ) ) : // If a user has filled out their description, show a bio on their entries ?> <div id="entry-author-info"> <div id="author-avatar"> <?php echo get_avatar( get_the_author_meta( 'user_email' ), apply_filters( 'twentyten_author_bio_avatar_size', 60 ) ); ?> </div><!-- #author-avatar --> <div id="author-description"> <h2><?php printf( esc_attr__( 'About %s', 'twentyten' ), get_the_author() ); ?></h2> <?php the_author_meta( 'description' ); ?> <div id="author-link"> <a href="<?php echo get_author_posts_url( get_the_author_meta( 'ID' ) ); ?>"> <?php printf( __( 'View all posts by %s <span class="meta-nav">→</span>', 'twentyten' ), get_the_author() ); ?> </a> </div><!-- #author-link --> </div><!-- #author-description --> </div><!-- #entry-author-info --> <?php endif; ?> <div class="entry-utility"> <?php twentyten_posted_in(); ?> <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="edit-link">', '</span>' ); ?> </div><!-- .entry-utility --> </div><!-- #post-## --> <div id="nav-below" class="navigation"> <div class="nav-previous"><?php previous_post_link( '%link', '<span class="meta-nav">' . _x( '←', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div> <div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '→', 'Next post link', 'twentyten' ) . '</span>' ); ?></div> </div><!-- #nav-below --> <?php comments_template( '', true ); ?> <?php endwhile; // end of the loop. ?> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> <?php get_footer(); ?>
Olá Angelo!
Inicialmente gostaria de agradecer muito a atenção sua, e claro, de todos aqui… onde achei muito diferente este tipo de fórum, ainda mais, sendo ingressante nas tecnicas do wordpress, onde a cada dia curto mais ainda.
Parabens a todos!Agora sobre o single.php…. implementei aqui e na minha página deu erro…. na linha 26 com o seguinte comando:
“Fatal error: Call to undefined function twentyten_posted_on() in C:\Inetpub\vhosts\arcki2.com\httpdocs\index\wp-content\themes\indextheme\single.php on line 26”Não devo ter um arquivo chamado “twentyten_posted_on”? (este é a linha 26)
Atenciosamente,
AndreoAndreo, faz o seguinte, pega esse aqui, limpo e seco rsrsrsrs:
cria um arquivo ai chamado single.php e cola isso:<?php get_header();?> <?php get_sidebar();?> <div class="unic_post"> <?php if(have_posts()): while(have_posts()) : the_post();?> <h1><?php the_title();?></h1> <div class="unic_entrie"> <?php the_content();?> <div class="credits"> Postado <?php the_time("l, d/m/y");?> as <?php the_time();?> Por <font color="#CCFF00"><?php the_author();?> <br /></font> Na categoria <?php the_category(',');?><br /> <?php the_tags('Tags: ');?><br /> <?php comments_number('Sem comentários', '1 comentário', '% Comentários' );?> </div> </div> <?php endwhile; else:?> <h3> Ops... Nada encontrado!</h3> <div><?php get_search_form();?></div> <?php endif;?> </div> <div class="comment"> <?php comments_template();?> </div> <?php get_footer();?>
Simplesmente PERFEITO!
Pessoas, esse esquema que o Angelo fez é batata, garantido mesmo! Nao tem como errar, se eu consegui fazer, todos fazem auhauhauha
Tem umas videos aulas que vi, onde abordou mais 2 tipos de paginações, uma é de “mais novos” e “mais antigos”. Este eu vi no theme default.
ele seria:
‘
<?php get_header(); ?>
<div id=”content_bloco”>-
<?php if (have_posts()): while (have_posts()) : the_post(); ?>
-
<h1>“><?php the_title();?></h1>
<h2>Data: <?php the_time(‘j M Y’); ?></h2><!– Texto com limitação em 50 palavras–>
<p><?php the_content_limit(300, ‘
Leia mais…’);?></p>
<?php endwhile; else:?>
<?php endif;?><div class=”alignleft”><?php next_posts_link(‘« Mais Antigos’) ?></div>
<div class=”alignright”><?php previous_posts_link(‘Mais Novos »’) ?></div>
</div><div id=”content_siderbar”>
<?php get_sidebar(); ?>
</div>
<?php get_footer(); ?>
‘
—————————————————–o outro é um pluging que nao deu certo para mim, ele se chama wp-pagenavi
-
<h1>“><?php the_title();?></h1>
- O tópico ‘Post Resumido’ está fechado para novas respostas.