Sempre achei frustrante no WordPress que imagens, arquivos, links, etc. sejam inseridos no WordPress com uma URL absoluta em vez de uma URL relativa. Um url relativo é muito mais conveniente para trocar nomes de domínio, mudar entre http e https etc. Hoje eu descobri que se você definir WP_CONTENT_URL com um url relativo, quando você inserir arquivos em postagens eles usarão o url relativo para src em vez de url absoluto . Exatamente o que sempre quis! Mas a documentação oficial do WordPress diz que você deve usar um URI completo se estiver definindo WP_CONTENT_URL.
Defina WP_CONTENT_URL para o URI completo deste diretório (sem barra final), por exemplo
define( 'WP_CONTENT_URL', 'http://example/blog/wp-content');
Tudo parece funcionar bem quando uso um URL relativo, por exemplo
define( 'WP_CONTENT_URL', '/my-content-folder');
Mas há algum problema em usar um URI relativo? Só estou pensando que deve haver um motivo para o WordPress declarar que deve ser definido com um URI completo.
Respostas:
Acho que esse é o tipo de pergunta que apenas um desenvolvedor central poderia / deveria responder. Eu pesquisei e encontrei o tíquete principal # 17048: URLs entregues ao navegador devem ser relativos à raiz . Onde podemos encontrar as razões explicadas por Andrew Nacin, desenvolvedor líder do núcleo. Ele também tem um link para este tópico [wp-hackers] . Em ambos os links, estas são as citações principais sobre por que o WP não usa URLs relativos:
Tíquete principal:
discussão [wp-hackers]
E, a título pessoal, mais de uma vez encontrei tema e plug-ins mal codificados que simplesmente quebram quando
WP_CONTENT_URL
são definidos.Eles não sabem que isso pode ser definido e presumem que isso é verdade: WP.URL / wp-content / WhatEver , e nem sempre é o caso. E algo vai quebrar ao longo do caminho.
O plugin URLs relativos ( link na Resposta do edse ), aplica a função
wp_make_link_relative
em uma série de filtros no gancho de açãotemplate_redirect
. É um código bastante simples e parece uma boa opção.fonte
WP_CONTENT_URL
não parece ter como objetivo (embora permita) a configuração de urls relativos, o plug-in parece ser a melhor opção. Existe um caso de teste em que um plug-in falha durante a configuração,WP_CONTENT_URL
mas funciona bem ao usar o plug-in?/
e URIs relativos (para uso interno<a>
) nunca começamhttp://
.fonte
Eu concordo com Rup. Acho que o principal motivo é evitar confusão em caminhos relativos. Acho que o wordpress pode funcionar do zero com caminhos relativos, mas o problema pode surgir ao usar vários plug-ins, como o tema é configurado etc.
Uma vez usei este plugin para caminhos relativos, ao trabalhar em servidores de teste:
fonte
WP_CONTENT_URL
relativo e não sucumba a nenhuma armadilha com sua própria abordagem. O que eu gostaria de saber é se existe realmente uma armadilha conhecida em tornarWP_CONTENT_URL
relativo./wp-content/some-file.jpg
é um caminho absoluto, não um caminho relativo. Não há confusão possível. É a inclusão do protocolo e do nome de domínio na URL absoluta que torna o WordPress inútil sem justificativa. Para implantar um site WP de dev a staging to live, tenho que executar um script de localizar e substituir em nomes de domínio em um despejo de banco de dados. O problema que eu acho é que ele foi projetado para editar conteúdo em produção que funcione para blogs (que é para o que foi feito), mas não para muitos sites comerciais./wp-content/some-file.jpg
ser um caminho absoluto. Para outros que lerem seu comentário no futuro, observe que um caminho relativo da web é um caminho que tem o protocolo e o domínio excluídos do caminho. Assim,/wp-content/some-file.jpg
ewp-content/some-file.jpg
são relativos, com o/
primeiro exemplo tendo o propósito de fazer referência ao diretório raiz acessível do titular da conta ou servidor.Resolvi no meu site fazendo isso em functions.php
Participei de um plugin, cortei-o em pedaços e fiz isso. Ele substituiu TODOS os links no meu site (menus, css, scripts etc.) e tudo estava funcionando.
fonte
Em Configurações => Mídia, há uma opção para 'Caminho de URL completo para arquivos'. Se você definir isso para o caminho do diretório de mídia padrão '/ wp-content / uploads' em vez de em branco, ele irá inserir caminhos relativos, por exemplo, '/wp-content/uploads/2020/06/document.pdf'.
Não tenho certeza se isso torna todos os links relativos, por exemplo, a posts, mas pelo menos lida com mídia, o que provavelmente é o que preocupa a maioria das pessoas.
fonte
deve usar get_home_url (), então seus links são absolutos, mas não afetará se você alterar o url do site
fonte
O que eu acho que você faz é enquanto você altera os nomes de domínio, o arquivo de despejo sql que você tem pode substituir todas as instâncias do nome de domínio antigo por um novo. Esta é a única opção disponível, pois não há plug-ins que o ajudem a fazer isso.
Esta é a maneira mais rápida ..
fonte
Existe uma maneira facil
Em vez de
/pagename/
usarindex.php/pagename/
ou se você não usar permalinks, faça o seguinte:Postar
Página
Categoria
Mais informações aqui: http://codex.wordpress.org/Linking_Posts_Pages_and_Categories
fonte