Como definir automaticamente a primeira imagem de um post como miniatura? Ou linkar o título do post para um recurso externo? Função pronta.
PT-PT

Como extrair o primeiro link do conteúdo do post (PHP snippet)

5.00 /5 - (24 votes )
Última verificação: 1 de março de 2026
Experiência: 5+ anos de experiência
Índice

Às vezes construímos temas do tipo “Agregador de Notícias”, onde um post não tem o seu próprio conteúdo, mas apenas liga a um artigo externo. Ou queremos que a primeira imagem no conteúdo se torne automaticamente a “Imagem Destacada” se o editor se esquecer de a definir.

Em ambos os casos, precisamos “escanear” o conteúdo do post (the_content) e extrair a primeira tag <a> ou <img> dele.

Método: Classe domdocument

Muitos programadores usam Expressões Regulares (Regex) para isso, mas fazer parsing de HTML com Regex é má prática. É melhor usar a classe DOMDocument integrada no PHP.

Aqui está uma função pronta que pode colar em functions.php:

function get_first_link_url( $content ) {
    // Se o conteúdo estiver vazio, retornar false
    if ( empty( $content ) ) return false;

    $doc = new DOMDocument();
    
    // Suprimir erros HTML5 (DOMDocument é antigo e às vezes reclama de <section> etc.)
    libxml_use_internal_errors(true);
    
    // Carregar HTML (com hack UTF-8)
    $doc->loadHTML( mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8') );
    
    $links = $doc->getElementsByTagName('a');

    if ( $links->length > 0 ) {
        // Retornar href do primeiro link
        return $links->item(0)->getAttribute('href');
    }

    return false;
}

Uso no loop

$link = get_first_link_url( get_the_content() );

if ( $link ) {
   echo '<a href="' . esc_url($link) . '" class="read-more-external">Ler original</a>';
}

Esta solução é sólida, segura e lida com erros na estrutura HTML melhor do que qualquer Regex.

O que é Como extrair o primeiro link do conteúdo do post (PHP snippet)?
Como extrair o primeiro link do conteúdo do post (PHP snippet) é relevante quando pretende um WordPress mais estável, melhor desempenho e menos falhas em produção.
Como implementar Como extrair o primeiro link do conteúdo do post (PHP snippet)?
Comece com uma auditoria de base, defina âmbito e restrições, e implemente alterações em passos pequenos e testáveis.
Porque é que Como extrair o primeiro link do conteúdo do post (PHP snippet) é importante?
Os maiores ganhos vêm, normalmente, da qualidade técnica, de uma estrutura de conteúdo clara e de verificação regular.

Precisa de FAQ adaptado ao setor e mercado? Criamos uma versão alinhada com os seus objetivos de negócio.

Fale connosco

Artigos Relacionados