Suporte » Temas » Post Resumido

  • Resolvido botnet

    (@botnet)


    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!

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • 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');
    Criador do tópico botnet

    (@botnet)

    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 :X

    Amigo, 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 "&nbsp;<a href='";
          the_permalink();
          echo "'>"."Leia mais &rarr;</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 "&nbsp;<a href='";
            the_permalink();
            echo "'>".$more_link_text."</a>";
            echo "</p>";
       }
       else {
          echo "<p>";
          echo $content;
          echo "&nbsp;<a href='";
          the_permalink();
          echo "'>"."Leia mais &rarr;</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 "&nbsp;<a href='";
          the_permalink();
          echo "'>"."Leia mais &rarr;</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 "&nbsp;<a href='";
            the_permalink();
            echo "'>".$more_link_text."</a>";
            echo "</p>";
       }
       else {
          echo "<p>";
          echo $content;
          echo "&nbsp;<a href='";
          the_permalink();
          echo "'>"."Leia mais &rarr;</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>&nbsp;&nbsp;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_s

    Postei 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( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
    					<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', '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">&rarr;</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( '&larr;', 'Previous post link', 'twentyten' ) . '</span> %title' ); ?></div>
    					<div class="nav-next"><?php next_post_link( '%link', '%title <span class="meta-nav">' . _x( '&rarr;', '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,
    Andreo

    Andreo, 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();?>&nbsp;&nbsp;
                Por <font color="#CCFF00"><?php the_author();?> <br /></font>
                Na categoria&nbsp;<?php the_category(',');?><br />
                <?php the_tags('Tags: ');?><br />
                <?php comments_number('Sem coment&aacute;rios', '1 coment&aacute;rio', '% 		Coment&aacute;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

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Post Resumido’ está fechado para novas respostas.