Jon Täng

Marketing Specialist / Webbutvecklare

Snygga externa länkar i WordPress

Jon Täng
Av Jon Täng  |  20 februari, 2014

Idag har jag färdigställt en liten funktion för att få snygga externa länkar på en WordPress-hemsida eller blogg. Funktionen kollar alla länkar i content, eller den sträng man väljer att hook:a med add_filter, ifall det är en intern eller extern länk. Den gör också en koll ifall samma länk finns i innehållet, så att det inte blir flerutskrift av markeringen i strängen. Se resultatet här: WordPress.org

/**
 * Find and mark external links
 * Copyright Jon Täng <contact@jontang.se>
 *
 * @param string $content
 * @retrun string $content
 */
function find_external_links( $content ) {
	$xml = new DOMDocument();
	$xml->loadHTML($content);

	$elements = $xml->getElementsByTagName('a');
	$i = 0;

	while ( $i < $elements->length ) {
		$element = $elements->item($i);
		$url_home = parse_url( home_url(), PHP_URL_HOST );
		$url_host = parse_url( $element->attributes->item(0)->value, PHP_URL_HOST );
		$anchor_text = utf8_decode($element->textContent);

		if ( $url_host !== $url_home ) {
			if ( strpos( $content, $anchor_text .' ' ) === false)
				$content = str_replace( $anchor_text.'', $anchor_text.' ', $content );
		}

		$i++;
	}

	return $content;
}
add_filter( 'the_content', 'find_external_links' );

Denna kod lägger till ett element med en Font Awesome-ikon. Vill du lägga till något annat efter den externa länken byter du bara ut <i class="fa fa-external-link"></i> mot ett bildelement eller liknande.

Prova gärna koden och kom med feedback. Klistra bara in den i din functions.php-fil. Om du använder dig av koden ska du länka tillbaka till denna hemsida (jontang.se) med ett erkännande.

EDIT: Koden har fått en liten uppdatering för att klara länktexter med å-ä-ö.

Jon Täng - Digital Marketing Specialist / Webbutvecklare

Jon Täng

Digital Marketing Specialist / Webbutvecklare

Jag är Marketing Specialist / Webbutvecklare på Bozzanova Reklambyrå i Vänersborg. Digital Marknadsföring, Sökmotoroptimering, Google Ads, Social Ads, WordPress och Webbutveckling är min vardag.

Copyright 2020 Jon Täng
Do NOT follow this link or you will be banned from the site! linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram