Na jednej z grup poświęconej WordPressowi pojawił się niedawno post, z prośbą o podpowiedź, jak wstawić na stronie link, który będzie zawierał jakby aktualny URL, ale z inną domeną. Cały ambaras jednak w tym, by to był link uniwersalny, który będzie się automatycznie dopasowywał do strony, na której w danym momencie będzie użytkownik.
Krótki kod z dynamicznym linkiem bazującym na aktualnym adresie URL
Sposobów jest kilka, więc uznałem, że zamiast podsyłać rozwiązanie bezpośrednio do autora pytania, stworzę z tego artykuł, bo może jeszcze komuś się to przyda. A przy okazji, zamiast przelewać mi potencjalne wynagrodzenie za przygotowanie odpowiedniego kodu, mam nadzieję, że autor zapytania przeleje coś – powiedzmy stówkę – na wybrane przez siebie schronisko dla zwierząt.
Tak więc mamy dowolną stronę, np.:
https://webinsider.pl/kontakt
A chcemy, by link wskazywał np. na stronę:
https://webinsider.eu/kontakt
Tak więc trzeba pobrać aktualny URL, podstawić nową domenę, i na koniec wygenerować krótki kod (shortcode), który będzie można w WordPressie umieścić w miejscu, gdzie ma się ów link wyświetlać. W tym celu wystarczy dodać odrobinę kodu PHP do pliku functions.php (motywu potomnego):
function webinsider_wp_shortcode_magic_link() {
$current_slug = $_SERVER['REQUEST_URI'];
$new_domain = 'https://webinsider.pl'; // <- ZMIENIĆ
$new_url = $new_domain . $current_slug;
$var = filter_var( strip_tags( $new_url ), FILTER_SANITIZE_URL );
return '<a href="' . $var . '">link</a>';
}
add_shortcode( 'webinsider_wp_shortcode_magic_link', 'webinsider_wp_shortcode_magic_link' );
// Shortcode: [webinsider_wp_shortcode_magic_link]
Jeśli w ramach krótkiego kodu (shortcode) chcemy zwrócić inny krótki kod, to należy lekko zmodyfikować linijke “return”:
return do_shortcode( '[webinsider_shortcode url="' . $var . '"]Link[/webinsider_shortcode]' );
Można też zwracać sam zmodyfikowany adres URL, by np. podstawić krótki kod (shortcode) zamiast adresu odnośnika w jakimś elemencie (np. przycisk w page builderze):
return $var;
W miejscu, gdzie ma być link, wstawiamy krótki kod (shortcode):
[webinsider_wp_shortcode_magic_link]
To też można to zrobić na różne sposoby, choćby korzystając z opisywanej już kiedyś wtyczki PRyC WP: Add custom content to post and page.
- Kupiłem drona i co dalej, czyli krótki przewodnik po najważniejszych rzeczach, które musi znać każdy pilot drona - 1970-01-01
- Home Assistant 2024.5 i problem z przełącznikiem w dodatku yi-hack Home Assistant integration (dla modyfikacji Yi-Hack) - 1970-01-01
- Menedżer zadań w Windowsie wyświetlany “zawsze na wierzchu”, czyli ustaw, zanim będziesz potrzebował - 1970-01-01