Com a função PHP wp_make_link_relative() você remove o protocolo HTTP/HTTPS e o domínio de uma URL, deixando apenas o caminho após a barra (/
). Segue abaixo alguns exemplos de uso:
<?php
$url = "https://www.painelwp.com.br/";
$url_relativa = wp_make_link_relative( $url );
// O valor de $url_relativa será: /
$url = "https://www.painelwp.com.br/newsletter-wordpress-edicao-126/";
$url_relativa = wp_make_link_relative( $url );
// O valor de $url_relativa será: /newsletter-wordpress-edicao-126/
$url = "https://www.painelwp.com.br/teste/diretorio/";
$url_relativa = wp_make_link_relative( $url );
// O valor de $url_relativa será: /teste/diretorio/
$url = "https://www.painelwp.com.br";
$url_relativa = wp_make_link_relative( $url );
// O valor de $url_relativa será: (vazio)
$url = "http://localhost:123/pagina/";
$url_relativa = wp_make_link_relative( $url );
// O valor de $url_relativa será: /pagina/
Code language: PHP (php)
É importante enfatizar que esta função não leva em consideração se a URL é interna ou externa, portanto tome cuidado ao utilizá-la para que ela não seja aplicada em URLs externas.
Alterando os links de acesso aos posts para serem relativos
Um possível uso da função é alterar os links para acessar os posts para serem relativos. Irei utilizar o hook post_link junto com a função wp_make_link_relative() no arquivo functions.php
:
<?php
add_filter( 'post_link', 'wp_make_link_relative' );
Code language: PHP (php)
Encontrei um post que lista algumas opções de hooks para aplicar esta função. Também há alguns plugins que deixam todos os links do site relativos, como o Relative URL.
Deixe um comentário