a função the_excerpt também pode obter imagens?

3

Não tenho certeza se estou indo sobre isso da maneira certa, mas, no geral, me disseram para criar, como uma caixa de notícias na minha home page e, assim, as "últimas notícias" serão as mensagens dos clientes.

agora eu sei que posso controlar the_excerpts(); content length etc, mas não consigo encontrar uma maneira de permitir uma imagem.

quando mostrei ao cliente a "caixa de notícias" que ele quer que a imagem associada à postagem seja exibida.

então eu pensei em "the_content();" mas eu não acho que é o que eu preciso (apesar de não ter certeza qual deles funcionará melhor com o que eu preciso)

então as principais perguntas aqui para mim são

  1. Posso, de alguma forma, fazer a imagem aparecer com o trecho ou
  2. Se a função de trecho não permitir, então o que eu posso usar?
por somdow 01.05.2012 / 19:11

3 respostas

7

Verifique se o seu tema é compatível com Postar miniaturas e se o cliente define uma "Imagem em destaque" para cada postagem. Em seguida, combine the_excerpt() com the_post_thumbnail() , por exemplo assim:

<?php
if ( have_posts() ) : while ( have_posts() ) : the_post();

    ?>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

        <div class="featured-image"><?php the_post_thumbnail(); ?></div>
        <div class="post-excerpt"><?php the_excerpt(); ?></div>

    </div>
    <?php

endwhile; endif;
?>

Depois, use CSS para estilizar de acordo com suas necessidades.

    
por Chip Bennett 01.05.2012 / 20:31
3

Você já tentou usar get_the_post_thumbnail() ? Você pode ler mais sobre isso no Codex aqui . Ele puxa uma miniatura da imagem em destaque da postagem.

    
por SickHippie 01.05.2012 / 20:17
0

Coloque isso no arquivo functions.php:

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'preserve_excerpt_format');
function preserve_excerpt_format($text)
{
    global $post;
    $raw_excerpt = $text;
    if ('' == $text )
    {
        $text = get_the_content('');
        $text = strip_shortcodes($text);
        $text = apply_filters('the_content', $text);
        $text = str_replace(']]>', ']]&gt;', $text);

        $exceptions = '<p>,<a>,<em>,<strong>,<br><img>'; //PRESERVE THESE TAGS, ADD/REMOVE AS NEEDED
        $text = strip_tags($text, $exceptions);

        $maxCount = 55; //DEFAULT WP WORD COUNT, INCREASE AS NEEDED
        $excerpt_length = apply_filters('excerpt_length', $maxCount);

        $moreText = '.... <a class="blue" href="'.get_permalink($post->ID).'">Read More &gt;&gt;</a>'; //CUSTOM MORE TEXT, CHANGE AS NEEDED
        $excerpt_more = apply_filters('excerpt_more', $moreText);

        $words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length+1, PREG_SPLIT_NO_EMPTY);
        if(count($words) > $excerpt_length)
        {
            array_pop($words);
            $text = implode(' ', $words);
            $text = $text.$excerpt_more;
        }
        else
            $text = implode(' ', $words);
    }
    return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}

Isso deve preservar quaisquer imagens que ocorram no HTML do conteúdo antes que o Limite do Word seja atingido.

    
por maiorano84 01.05.2012 / 23:26