Domyślnie wszystkie tytuły naszych wpisów czy podstron na witrynie opartej na platformie Wordpress są linkami wewnętrznymi. Z tego poradnika dowiesz się, jak w prosty sposób ustawić link do strony zewnętrznej z poziomu tytułów naszych wpisów.

Dodawanie linków na stronie działającej na platformie Wordpress jest bananie proste. Wewnątrz wpisów i podstron. Co jednak z tytułami naszych tekstów? Domyślnie mogą one linkować jedynie do zawartości wpisu. Tak jest np. w widoku blogu strony działającej na Wordpressie. Na głównej stronie widać tytuły wpisów, zaś po ich kliknięciu zostajemy przeniesieni do właściwej podstrony.

Co jednak, gdybyśmy chcieli ustawić, aby tytuł wpisu prowadził nie do treści wpisu ale był linkiem do zewnętrznej strony - witryny, którą polecamy, reklamodawcy czy kanału na YouTube? W takim przypadku należy skorzystać z dodatkowego rozwiązania.

Sposób pierwszy - za pomocą wtyczki

Pierwsza metoda, łatwiejsza, jaką tutaj opiszemy, wymaga skorzystania z zewnętrznej wtyczki, dzięki której będziemy mogli ustawić linki z poziomu tytułów wpisów na naszej witrynie lub blogu. W tym celu instalujemy z poziomu panelu zarządzania Wordpressem wtyczkę on nazwie Page Links To.

Po zainstalowaniu wtyczki, będzie ona dostępna z poziomu zakładki Wpisy w lewym pasku menu Wordpressa. Wystarczy dodać nowy wpis lub też wejść w edycję istniejącego już wpisu. Na samym dole strony znajdziemy nową sekcję - „Page Links To”. Tutaj ustawiamy domyślną wartość na „A custom URL”. Następnie w odpowiednim polu wklejamy link, do którego wpis ma prowadzić. Dalej wystarczy już tylko zapisać wpis i opublikować go bądź zaktualizować.

Teraz tytuł wpisu będzie jednocześnie linkiem do zewnętrznej strony WWW. W opcjach możemy też zaznaczyć, aby strona po kliknięciu była otwierana w nowej karcie przeglądarki internetowej („Open this link in a new tab”).

Sposób drugi - ręczne dodawanie linków

To samo co osiągamy za pomocą wtyczki możemy również zrobić samodzielnie. Trzeba tylko wkleić odpowiedni kod na swojej stronie. Przechodzimy więc z poziomu panelu zarządzania Wordpress do zakładki Wygląd > Edytor.

Tutaj w prawej części okna odszukujemy i otwieramy link o nazwie functions.php. Po otwarciu go w edytorze, w wolnym miejscu wklejamy następujący kod:

function print_post_title() {
global $post;
$thePostID = $post->ID;
$post_id = get_post($thePostID);
$title = $post_id->post_title;
$perm = get_permalink($post_id);
$post_keys = array(); $post_val = array();
$post_keys = get_post_custom_keys($thePostID);

if (!empty($post_keys)) {
foreach ($post_keys as $pkey) {
if ($pkey=='external_url') {
$post_val = get_post_custom_values($pkey);
}
}
if (empty($post_val)) {
$link = $perm;
} else {
$link = $post_val[0];
}
} else {
$link = $perm;
}
echo '<h2><a href="'.$link.'" rel="bookmark" title="'.$title.'">'.$title.'</a></h2>';
}

Zadaniem kodu jest stworzenie miejsca, z poziomu którego będziemy mogli dodawać linki w tytułach wpisów. To jednak nie koniec pracy.

Teraz musimy odnaleźć miejsca w ramach naszego motywu, gdzie chcemy dodać możliwość zamieszczania linków w tytułach. A zatem, z poziomu Edytora otwieramy takie pliki jak archives.php, content.php czy category.php - wszędzie, gdzie chcemy udostępnić funkcję dodawania linków.

W wybranych miejscach zastępujemy następujący kod:

<?php the_title( sprintf( '<h2 class="entry-title"><a href="%s" rel="bookmark">', esc_url( get_permalink() ) ), '</a></h2>' ); ?>

Za pomocą kodu:

<?php print_post_title() ?>

To już wszystko. Teraz już tylko z poziomu przycisku „Opcje ekranu” należy aktywować pole „Własne pola”, a następnie dodać z listy pole do wstawiania linków zewnętrznych na naszej stronie. Warto jeszcze zaznaczyć, że możemy skorzystać z pośredniego rozwiązania, jakim są wtyczki ułatwiające prawidłowe wstawianie kodu do poszczególnych partii naszego Wordpressa. Jest to jednak rozwiązania pośrednie i chyba w takim wypadku po prostu lepiej jest zainstalować wtyczkę, która sama aktywuje możliwość dodawania linków do tytułów postów i stron na naszej witrynie.

Na koniec zachęcamy rzecz jasna do komentowania i opisywania ewentualnych problemów, jakie mogą pojawić się podczas dodawania opisanej powyżej funkcji.