Jak automatycznie ustawić pierwszy obrazek z wpisu jako miniaturę? Albo linkować tytuł posta do zewnętrznego zasobu? Gotowa funkcja.
PL

Jak wyciągnąć pierwszy link z treści wpisu (PHP snippet)

5.00 /5 - (28 głosów )
Ostatnio zweryfikowano: 1 marca 2026
Doświadczenie: 5+ lat doświadczenia
Spis treści

Czasami budujemy motyw typu “Agregator newsów”, gdzie wpis nie ma własnej treści, a jedynie linkuje do zewnętrznego artykułu. Albo chcemy, aby pierwszy obrazek w treści automatycznie stawał się “Featured Image”, jeśli redaktor zapomni go ustawić.

W obu przypadkach musimy “przeskanować” treść posta (the_content) i wyłowić z niej pierwszy tag <a> lub <img>.

Metoda: Klasa domdocument

Wielu programistów używa do tego Regexów (Wyrażeń Regularnych), ale parsowanie HTML-a Regexem to zła praktyka. Lepiej użyć wbudowanej w PHP klasy DOMDocument.

Oto gotowa funkcja, którą możesz wkleić do functions.php:

function get_first_link_url( $content ) {
    // Jeśli treść pusta, zwróć false
    if ( empty( $content ) ) return false;

    $doc = new DOMDocument();
    
    // Uciszamy błędy HTML5 (DOMDocument jest stary i czasem narzeka na <section> itp.)
    libxml_use_internal_errors(true);
    
    // Ładujemy HTML (z hackiem na UTF-8)
    $doc->loadHTML( mb_convert_encoding($content, 'HTML-ENTITIES', 'UTF-8') );
    
    $links = $doc->getElementsByTagName('a');

    if ( $links->length > 0 ) {
        // Zwracamy href pierwszego linku
        return $links->item(0)->getAttribute('href');
    }

    return false;
}

Użycie w pętli

$link = get_first_link_url( get_the_content() );

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

To rozwiązanie jest solidne, bezpieczne i radzi sobie z błędami w strukturze HTML lepiej niż jakikolwiek Regex.

FAQ do artykułu

Często zadawane pytania

Najważniejsze odpowiedzi, które pomagają wdrożyć temat w praktyce.

SEO-ready GEO-ready AEO-ready 3 Q&A
Czym jest Jak wyciągnąć pierwszy link z treści wpisu (PHP snippet)?
Jak wyciągnąć pierwszy link z treści wpisu (PHP snippet) ma znaczenie, gdy chcesz stabilniejszy WordPress, lepszą wydajność i mniej problemów produkcyjnych.
Jak wdrożyć Jak wyciągnąć pierwszy link z treści wpisu (PHP snippet)?
Zacznij od audytu stanu obecnego, ustal zakres i ograniczenia, a potem wdrażaj zmiany małymi, mierzalnymi krokami.
Dlaczego Jak wyciągnąć pierwszy link z treści wpisu (PHP snippet) jest ważne?
Największe efekty dają zwykle poprawa jakości technicznej, czytelna struktura treści i regularna weryfikacja.

Potrzebujesz FAQ dopasowanego do branży i rynku? Przygotujemy wersję pod Twoje cele biznesowe.

Porozmawiajmy

Polecane artykuły