TLDR:
Em uma instalação não padrão, você pode colocar seus arquivos do WordPress em um subdiretório da raiz do site.
... e ainda permita que seus visitantes acessem seu "site" do WordPress a partir do URL do domínio (raiz) do seu site, sem anexar o nome do subdiretório:
(por exemplo: www.example.com
vs www.example.com/wordpress
):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
Onde o valor para uma constante WP tem precedência sobre um valor wp_options / WP Settings.
Configurações diferentes para WordPress
Nas instalações mais padrão do WordPress, home_url
e site_url
terá o mesmo valor.
Independentemente disso, eles representam duas coisas diferentes.
Em uma instalação não padrão , eles podem ter valores diferentes.
NOTA: Estou deixando de lado o protocolo na minha resposta para facilitar a legibilidade.
Neste post, ANTEPOR CADA URL com:
https://
, http://
OR //
(a menos que eu incluí-lo já).
( //
é o relative
protocolo e funcionará para ambos / http://
ou https://
)
Instalações padrão (incluindo instalações com "um clique")
home_url
: é a página inicial do site (wordpress), conforme indicado na barra de endereços do usuário.
site_url
: é o diretório em que seus arquivos wordpress estão localizados.
A instalação de 5 minutos do WordPress instala arquivos wordpress, esses dois valores serão os mesmos - os arquivos wordpress serão instalados na mesma pasta que você deseja que as pessoas usem para acessar seu site ou na parte wordpress (blog) do site do servidor.
Exemplo 1:
usuário acessa o seu blog em: www.example.com
,
arquivos wordpress instalados em: www.example.com
ou a pasta raiz do site do seu servidor.
home_url
=== site_url
==="www.example.com"
Exemplo 2:
usuário acessa o seu blog em: www.example.com/blog
,
arquivos WordPress instalado em: www.example.com/blog
ou na blog
pasta dentro da raiz do seu site.
home_url
=== site_url
==="www.example.com/blog"
Nesse caso, www.example.com
é o site principal e www.example.com/blog
é a raiz do seu blog.
Aqui o seu blog é separado e funciona como subconjunto do seu site principal.
Nesse caso, seu site principal não é controlado, definido ou estilizado pelo WordPress.
Apenas o seu blog é. Todos os URLs do seu blog serão processados porwww.example.com/blog
Nota: Na documentação, "site / site do Wordpress" (em vez de simplesmente "site / site") refere-se ao diretório em que os arquivos do WordPress estão instalados. Neste caso, é www.example.com/blog
- tudo dentro da blog
pasta. O "site WordPress", nesse cenário, não é o mesmo que seu domínio, sua raiz ou seu site principal. É um subconjunto do seu site em geral. Como um site dentro de um site. Menciono isso, pois a terminologia pode parecer pouco clara ou confusa, dada essa configuração específica.
Configuração alternativa de instalação do WordPress
Dando WordPress seu próprio diretório , a seção Method II (With URL change)
.
Por exemplo, muitas pessoas não querem entupir a pasta raiz do site com todos os arquivos wordpress.
Eles querem instalar o wordpress em um subdiretório, * mas têm o "blog" ou o "site WordPress" acessado como se os arquivos estivessem instalados na raiz da raiz do servidor do site.
Isso é particularmente verdadeiro quando o WordPress é usado para criar e executar um site inteiro que nem sequer possui um "blog".
Exemplo 3:
usuário acessa seu "blog" em: www.example.com
,
arquivos wordpress instalados em: www.example.com/wordpress
ou a pasta raiz do site do seu servidor.
home_url
=== "www.example.com"
site_url
==="www.example.com/wordpress"
(Nota: essa configuração não funcionará "pronta para uso" apenas alterando os valores dessas variáveis. Requer alterações adicionais na configuração para funcionar corretamente.
Consulte Consulte Dando ao WordPress seu próprio diretório , a seção intitulada Method II (With URL change)
como fazer isso.
No presente caso home_url
e site_url
deve conter valores diferentes.
Nesta configuração, você deseja que seu site funcione exatamente como se os arquivos do WordPress estivessem instalados no diretório raiz do servidor ...
MAS, para fins organizacionais no servidor,
você realmente tem seus arquivos do WordPress em uma pasta chamada wordpress
na pasta do servidor. diretório raiz do seu site.
Então, o usuário digitará www.example.com
para obter sua página inicial do WordPress, em vez dewww.example.com/wordpress
função wordpress <--> variável de banco de dados <--> Wordpress Constant
Esta seção assume a configuração do exemplo 3 acima.
URL da barra de endereço: www.example.com
arquivos wordpress: diretório / wordpress
(Os outros casos são triviais: todas as variáveis / funções mantêm / retornam o mesmo valor.)
Como definir os valores para
site_url
e
home_url
Primeiro, deixe-me notar que siteurl
e home
armazenar valores devolvidos pelas funções acima
1) Normalmente, você define esses valores no painel de backend / painel / administrador do
Settings -> General ->
siteurl
WordPress: Endereço do WordPress: https://www.example.com/wordpress
home
Endereço do site: https://www.example.com
(não inclua barras finais aqui - isso seria configurado em outro lugar)
2) Como alternativa, você define esses valores no banco de dados do WordPress:
wp_options
tabela ->
`options_name` | `options_value`
----------------------------------------------------
`siteurl` | `https://www.example.com/wordpress`
`home` | `https://www.example.com`
(não inclua barras finais aqui - isso seria configurado em outro lugar)
3) Edite suas wp-config.php
Define essas constantes específicas para manter seus valores
Defina WP_HOME
e WP_SITEURL
configurações inserindo estas linhas na parte superior do seu wp-config.php
arquivo:
define('WP_SITEURL','http://example.com/wordpress'); // wordpress core files
define('WP_HOME','http://example.com'); // address bar url
// ** MySQL settings - You can get this info from your web host ** //
...
(não inclua barras finais aqui - isso seria configurado em outro lugar)
Referência: WP_SITEURL e WP_HOME
NOTA: Isso é confuso
(eu realmente gostaria que o WordPress tivesse rotulado as configurações de maneira semelhante aos nomes php,
como Wordpress Site Address
e Home Page Address
ou algo mais explícito como location of WordPress Site core files
e browser url to access WordPress home page
)
`WP_SITEURL` <--> `site_url()` <--> `siteurl` <--> Wordpress Address <--> /wordpress
`WP_HOME` <--> `home_url()` <--> `home` <--> Site Address <--> /
Agora aqui é onde fica complicado!
Se você definiu essas constantes no seuwp-config.php
arquivo, não importa quais valores você tem na sua página de banco de dados / configurações.
De fato, você não poderá modificar esse valor até o final (ele ficará acinzentado). Você ainda pode modificar modificando seu banco de dados, mas isso não terá efeito no site, enquanto as constantes existirem no arquivo wp-config.
Seu arquivo de configuração não alterará os valores no seu banco de dados (ou, portanto, na sua página de configurações). Em vez disso, os valores da página de banco de dados / configurações serão ignorados . Os valores no wp-config substituem ou têm precedência sobre a configuração do banco de dados.
Então ... para finalizar (TLDR):
WP function | wp_options. | WP constant | what it represents | WP Settings Label | Example
-------------------------------------------------------------------------------------------------------------------------------------
`site_url()` | `siteurl` | `WP_SITEURL` | WordPress files location | WordPress Address | https://www.example.com/wordpress
`home_url()` | `home` | `WP_HOME` | browser address bar | Site Address | https://www.example.com
Onde o valor para uma constante WP tem precedência sobre um valor wp_options / WP Settings.
O valor do registro wp_options e o valor WP Settings são os mesmos.
Editar um, por definição, edita o outro.
São apenas duas maneiras diferentes de acessar a mesma variável.
Por outro lado, as constantes do WordPress são únicas e independentes.
Internamente, as constantes do WordPress (PHP) substituem seus equivalentes de banco de dados.
Se uma constante é definida no wp-config, ela não altera o banco de dados.
Mas internamente o WordPress sempre prefere / usa seu valor em vez do db.