X

Como criar automaticamente uma descrição meta a partir de seu conteúdo

Snippets by IsItWP

Muito preguiçoso para adicionar uma meta descrição aos seus artigos? Então, por que não gerar automaticamente uma meta descrição a partir de sua postagem no WordPress, removendo todos os códigos de acesso e tags? Veja como fazer isso.

Instruções:

Adicione esse código ao arquivo functions.php do seu tema ou em um plug-in específico do site. Certifique-se de que você tenha no header.php do seu tema do WordPress ou esse snippet não funcionará.

function create_meta_desc() {
    global $post;

if (!is_single()) { return; }

    $meta = strip_tags($post->post_content);
    $meta = strip_shortcodes($post->post_content);
    $meta = str_replace(array("n", "r", "t"), ' ', $meta);
    $meta = substr($meta, 0, 125);

    echo "<meta name='description' content='$meta' />";
}

add_action('wp_head', 'create_meta_desc');

Observação: Se esta é a primeira vez que você adiciona trechos de código no WordPress, consulte nosso guia sobre como copiar/colar corretamente trechos de código no WordPress, para não danificar seu site acidentalmente.

Se você gostou desse snippet de código, considere dar uma olhada em nossos outros artigos no site, como: Melhores construtores de páginas do WordPress (comparados).

Comentários   Deixe uma resposta

  1. As already mentioned (no clue why the author is not updating his mistake) strip/replace this code part: $meta = strip_shortcodes($post->post_content); with just: $meta = strip_shortcodes($meta); else it has no sence and is incorrect and looks terrible on google!

  2. BloodyGoodGames maio 6, 2013 em 11:22 pm

    Wow,. that broke my site. As soon as you put it in the header you get an error code so it doesn’t work. Too bad as it’s exactly what I needed 🙁

    1. what is the error you get?

    2. substr() will create invalid UTF-8. Use mb_substr() instead

      // add meta description tag
      function wcs_add_meta_description_tag() {
      global $post;
      if ( is_single() ) {
      $meta = strip_tags( $post->post_content );
      $meta = strip_shortcodes( $post->post_content );
      $meta = str_replace( array(“\n”, “\r”, “\t”), ‘ ‘, $meta );
      $meta = mb_substr( $meta, 0, 125, ‘utf8’ );
      echo ” . “\n”;
      }
      }
      add_action( ‘wp_head’, ‘wcs_add_meta_description_tag’ , 2 );

  3. Would you think possible to take H2 content from a post, limit the numbers of characters or word, and copy it into the description by default? Thanks!

  4. Sorry Pal, but here’s a correction on this algorithm:

    function create_meta_desc() {
    global $post;
    if (!is_single()) { return; }
    $meta = strip_tags($post->post_content);
    $meta = strip_shortcodes($meta); /* here you have to use the same variable, or else the strip_tags will not have any effect */
    $meta = str_replace(array(“n”, “r”, “t”), ‘ ‘, $meta);
    $meta = substr($meta, 0, 125);
    echo “”;
    }
    add_action(‘wp_head’, ‘create_meta_desc’);

  5. 29 Wordpress Tweaks to Improve Posts and Pages outubro 19, 2011 em 9:01 am

    […] [Source: WpSnipp] […]

  6. Trieuquangkhanh agosto 3, 2011 em 6:03 am

    have HTML TAGS !

    1. I’m not sure what you mean? however HTML tags are stripped out using “strip_tags”

      1. no it isn’t. i had to add a strip_tags right before the substr() function, that worked

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!