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

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

Ostatnio zweryfikowano: 6 sierpnia 2026
2 min czytania
Poradnik
Full-stack developer

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.

Sprawdź nasze profesjonalne usługi WordPress aby rozwinąć swój projekt.

Następny krok

Przekuj artykuł w realne wdrożenie

Pod tym wpisem dokładam linki, które domykają intencję użytkownika i prowadzą dalej w strukturze serwisu.

Chcesz wdrożyć ten temat na swojej stronie?

Jeśli chcesz przełożyć wiedzę z artykułu na działającą stronę, sklep albo przebudowę serwisu, przygotuję konkretny zakres prac.

Powiązany klaster

Sprawdź inne usługi WordPress i bazę wiedzy

Wzmocnij swój biznes dzięki profesjonalnemu wsparciu technicznemu w kluczowych obszarach ekosystemu WordPress.

Polecane artykuły