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.



Comments

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *