Suporte » Plugins » Apresentar uma imagem padrão no lugar da Miniatura

  • Resolvido Dhony

    (@dhony)


    Senhores,

    O ivanrsl publicou uma dúvida sobre post_thumbnail onde ele ressalta a necessidade do wordpress apresentar uma imagem padrão caso não haja nenhum tumbnail cadastrado.

    Também tenho essa dificuldade.

    Geralmente apresento dessa forma:

    <?php if ( has_post_thumbnail() ) : ?>
    <?php the_post_thumbnail( 'single-post-guia-thumbnail' ); ?>
    <?php endif; ?>

    Vamos ver se conseguimos resolver esse problema.

Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • Moderador Leo Baiano

    (@leobaiano)

    Acho que seria apenas o caso de implementar o else e chamar uma imagem padrão caso o post não tenha thumbnail.

    Criador do tópico Dhony

    (@dhony)

    Tentei fazer dessa forma como consta nesse tutorial do Justin Tadlock

    <?php
    if ( has_post_thumbnail() )
      the_post_thumbnail( 'single-post-guia-thumbnail' );
      else
      echo '<img src="guia-padrao.png" alt="Example Image" title="Example" />';
    ?>

    Tem uma explicação melhor aqui:
    http://justintadlock.com/archives/2009/11/16/everything-you-need-to-know-about-wordpress-2-9s-post-image-feature

    De qualquer forma ainda não consegui fazer funcionar.

    Moderador Leo Baiano

    (@leobaiano)

    O caminho da imagem guia-padrao.png esta assim mesmo como você colocou no código? Se sim o erro pode ser esse o caminho ta errado.

    Criador do tópico Dhony

    (@dhony)

    leobaiano

    Acredito que meu problema está justamente no caminho da imagem. Já tentei de várias formas e até agora sem sucesso.

    Moderador Leo Baiano

    (@leobaiano)

    Dhony, com esse código que você colocou quando o post tem thumbnail cadastrado a imagem é exibida corretamente, mas se o post não tem não aparece imagem? Certo???

    Se for isso então realmente seu problema é o caminho e você pode resolver fazendo o seguinte:

    1 – Cria uma pasta chamada imagem_padrao na raiz do seu blog;
    2 – Coloca a imagem guia-padrao.png dentro da pasta imagem_padrao;
    3 – Altere seu código para o código abaixo:

    <?php
    if ( has_post_thumbnail() )
      the_post_thumbnail( "single-post-guia-thumbnail" );
      else
      echo "<img src='".get_option('home')."/imagem_padrao/guia-padrao.png' alt='Example Image' title='Example' />;
    ?>

    Porque cirar a pasta imagem_padrao na raiz e não na pasta do tema?

    Simples, se você mudar de tema não vai precisar copiar a pasta, provavelmente você iria esquecer de copiar e o código deixaria de funcionar, colocando na raiz você não tem esse problema.

    Como resolvi o problema do caminho?

    Usei o método get_option(‘home’); que retorna a home do seu site, vai ficar mais ou menos assim o caminho da imagem: http://seusite.com.br/imagem_padrao/guia_padrao.png

    Faz um teste e informa qualquer coisa.

    Ivan

    (@ivanrsl)

    cara… deu erro…
    Parse error: parse error in […]

    Outra coisa, que havia falado no outro tópico, é a questão de ter que fazer várias imagens para temas que possuem mais de um tamanho, ex. sites de notícias. Acredito que algo no functions.php resolveria este problema.

    ####EDITADO####

    Pra mim funcionou com este
    echo '<img src="'.get_bloginfo('template_url').'/imgs/default.jpg" />';

    Troquei as aspas e o que ele chama, já que deve ir direto para a pasta do template.

    Moderador Leo Baiano

    (@leobaiano)

    Como expliquei, quando você trocar de tema vai precisar criar uma pasta chamada imgs dentro dele e colocar o arquivo default.jpg.

    O Parse error do meu exemplo deve ter ocorrido por conta de algum erro no jogo de aspas duplas ou simples, se copiar meu código na integra acho que deve ir certo.

    bom, se funcionou deixa como esta.

    Criador do tópico Dhony

    (@dhony)

    Concordo com o leobaiano em usar o get_option e não precisar criar a pasta toda vez que trocar o tema.

    O importante é que acabei aprendendo duas formas de inserir uma imagem padrão: através do get_bloginfo(‘template_url’) e do get_option(‘home’).

    Vou postar meu código assim que a aplicação estiver pronta.

    Moderador Leo Baiano

    (@leobaiano)

    E não esquece de mudar o status deste tópico para resolvido.

    Moderador Leo Baiano

    (@leobaiano)

    Hum, esqueceu… rsrsrs

    Criador do tópico Dhony

    (@dhony)

    A resposta:

    <?php
     if ( has_post_thumbnail() )
     the_post_thumbnail( 'post-thumbnail-coberturas' );
     else
     echo '<img src="'.get_bloginfo('template_url').'/img/thumb-padrao.png" alt="'.get_the_title().'" />';
     ?>
Visualizando 11 respostas - 1 até 11 (de um total de 11)
  • O tópico ‘Apresentar uma imagem padrão no lugar da Miniatura’ está fechado para novas respostas.