Zum Inhalt springen →

WordPress: Pagelinks über Seitentitel generieren

Meistens kennt man nur den Titel einer Seite, aber nicht die ID oder den Pageslug auswendig. Wenn man nun eine Seite im Template (z. B. im Footer die Kontaktseite) verlinken möchte, kann man das mit folgender Funktion einfach über den Seitentitel machen.

function fkpl_pagelink($pagelink, $link = ''){
	$getpl = get_page_by_title($pagelink);
	$getplname = $getpl->post_title;
	$getplid = get_page_link($getpl->ID);

	(empty($link)) ? printf('<a href="%1$s" title="%2$s">%2$s</a> ', $getplid, $getplname) : printf('<a href="%1$s" title="%2$s">%2$s</a> ', $getplid, $link);
}

Ein paar Beispiele

Beispiel 1: Man möchte im Footerbereich die Kontaktseite (Seitentitel „Kontakt“) verlinken

fkpl_pagelink('Kontakt');

Schon ist die Seite im Footerbereich mit ihrem Titel verlinkt.

Beispiel 2: Man möchte im Footerbereich die Kontaktseite (Seitentitel „Kontakt“) verlinken, aber mit einem anderen Linktext („Schreiben Sie mir eine Email“)

fkpl_pagelink('Kontakt', 'Schreiben Sie mir eine Email');

In diesem Fall ist die Seite im Footerbereich mit angepassten Linktext verbaut.

Mh, ein Shortcode wäre schön

Kein Problem:

function fkpl_shortcode($atts){
	$getpl = get_page_by_title($pagelink);
	$getplid = get_page_link($getpl-&gt;ID);

   	extract(shortcode_atts(array(
        	'link' =&gt; $getplid,
        	'text' =&gt; $getpl,
        ), $atts));

	return (empty($text)) ? '<a href="'. $getplid . '" title="' . $link . '">' . $link  . '</a>' : '<a href="'. $getplid . '" title="' .  $text . '">' . $text . '</a>';
}
add_shortcode('fkpl', 'fkpl_shortcode');

Einfach im Post Editor

[fkpl link="Seitentitel"]

oder mit optionalen Parameter

[fkpl link="Seitentitel" text="Alternativer Linktext"]

aufrufen.

Veröffentlicht in WordPress