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->ID); extract(shortcode_atts(array( 'link' => $getplid, 'text' => $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.