TLDR:
En una instalación no estándar, puede colocar sus archivos de WordPress en un subdirectorio de la raíz de su sitio web.
... y aún permitir que sus visitantes accedan a su "sitio web" de WordPress desde la URL del dominio (raíz) de su sitio, sin agregar el nombre del subdirectorio:
(es decir, 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
Donde el valor de una constante WP tiene prioridad sobre un valor de wp_options / WP Settings.
Diferentes configuraciones para WordPress
En la mayoría de los estándares instalaciones de WordPress, home_url
y site_url
tendrá el mismo valor.
En cualquier caso, representan dos cosas diferentes.
En una instalación no estándar , pueden tener valores diferentes.
NOTA: Estoy omitiendo el protocolo en mi respuesta para facilitar la lectura.
En este post, anteponga CADA URL con:
https://
, http://
O //
(a menos que lo incluí ya).
( //
es el relative
protocolo y funcionará para cualquiera / ambos http://
o https://
)
Instalaciones estándar (incluidas las instalaciones de "un clic")
home_url
: es la página de inicio de su sitio web (wordpress), como se indica en la barra de direcciones del usuario.
site_url
: es el directorio donde se encuentran sus archivos de WordPress.
La instalación de 5 minutos de WordPress instala los archivos de WordPress, estos dos valores serán los mismos: los archivos de WordPress se instalarán en la misma carpeta que desea que las personas usen para dirigirse a su sitio web, o la porción de WordPress (blog) del sitio web de su servidor.
Ejemplo 1:
el usuario tiene acceso a su blog en: www.example.com
,
archivos de wordpress instalados en: www.example.com
o la carpeta raíz del sitio web de su servidor.
home_url
=== site_url
==="www.example.com"
Ejemplo 2:
el usuario tiene acceso a su blog en: www.example.com/blog
,
archivos de wordpress instalado en: www.example.com/blog
o en la blog
carpeta dentro de la raíz de su sitio web.
home_url
=== site_url
==="www.example.com/blog"
En este caso www.example.com
es el sitio web principal, y www.example.com/blog
es la raíz de tu blog.
Aquí su blog está separado y funciona como un subconjunto de su sitio web principal.
En este caso, su sitio web principal no está controlado, definido o diseñado por WordPress.
Solo tu blog es. Todas las URL en tu blog serán procesadas porwww.example.com/blog
Nota: En la documentación, "sitio / sitio web de Wordpress" (en lugar de simplemente "sitio / sitio web") se refiere al directorio donde están instalados sus archivos de WordPress. En este caso, lo es www.example.com/blog
: todo dentro de la blog
carpeta. El "sitio web de WordPress", en este escenario, no es lo mismo que su dominio, su raíz o su sitio web principal. Es un subconjunto de su sitio web general. Algo así como un sitio web dentro de un sitio web. Menciono esto ya que la terminología puede parecer poco clara o confusa, dada esta configuración particular.
Configuración alternativa de instalación de WordPress
Dando a WordPress su propio directorio , la sección Method II (With URL change)
.
Por ejemplo, muchas personas no quieren obstruir la carpeta raíz de su sitio web con todos los archivos de WordPress.
Quieren instalar wordpress en un subdirectorio, * pero tienen acceso al "blog" o al "sitio web de WordPress" como si los archivos estuvieran instalados en la raíz de la raíz del servidor del sitio web.
Esto es particularmente cierto cuando WordPress se utiliza para construir y ejecutar un sitio web completo que ni siquiera tiene un "blog".
Ejemplo 3:
el usuario accede a su "blog" en: www.example.com
,
archivos de wordpress instalados en: www.example.com/wordpress
o la carpeta raíz del sitio web de su servidor.
home_url
=== "www.example.com"
site_url
==="www.example.com/wordpress"
(Nota: esta configuración no funcionará "fuera de la caja" simplemente cambiando los valores de estas variables. Requiere cambios de configuración adicionales para funcionar correctamente).
Vea Cómo dar a WordPress su propio directorio , la sección titulada Method II (With URL change)
sobre cómo hacer esto.
En este caso home_url
y site_url
debe contener diferentes valores.
En esta configuración, usted quiere que su sitio web para funcionar exactamente como si se instalan los archivos de WordPress en el directorio raíz del servidor para su sitio web ...
PERO, por razones de organización en el servidor,
que en realidad tiene sus archivos de WordPress en una carpeta llamada wordpress
en el servidor de directorio raíz para su sitio web.
Entonces, el usuario escribirá www.example.com
para obtener su página de inicio de WordPress, en lugar dewww.example.com/wordpress
función wordpress <--> variable de base de datos <--> Wordpress Constant
Esta sección asume la configuración del Ejemplo 3 anterior.
URL de la barra de direcciones: www.example.com
archivos de wordpress: / directorio de wordpress
(Los otros casos son triviales: todas las variables / funciones mantienen / devuelven el mismo valor).
Cómo establecer los valores para
site_url
y
home_url
Primero, permítanme señalar que siteurl
y home
almacenar valores devueltos por las funciones anteriores
1) Normalmente establece estos valores en el backend / panel de control / panel de administración de
Settings -> General ->
siteurl
WordPress: Dirección de WordPress: https://www.example.com/wordpress
home
Dirección del sitio: https://www.example.com
(no incluya barras inclinadas aquí, eso se configuraría en otro lugar)
2) Alternativamente, establece estos valores en su base de datos de WordPress:
wp_options
tabla ->
`options_name` | `options_value`
----------------------------------------------------
`siteurl` | `https://www.example.com/wordpress`
`home` | `https://www.example.com`
(no incluya barras inclinadas aquí, eso se configuraría en otro lugar)
3) Edite su wp-config.php
Definir estas constantes específicas para mantener sus valores
Definir WP_HOME
y WP_SITEURL
configuraciones insertando estas líneas hacia la parte superior de su wp-config.php
archivo:
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 ** //
...
(no incluya barras inclinadas aquí, eso se configuraría en otro lugar)
Referencia: WP_SITEURL y WP_HOME
NOTA: Esto es confuso
(realmente desearía que WordPress hubiera etiquetado la configuración de manera similar a sus nombres php,
como Wordpress Site Address
y / Home Page Address
o algo más explícito como location of WordPress Site core files
y browser url to access WordPress home page
)
`WP_SITEURL` <--> `site_url()` <--> `siteurl` <--> Wordpress Address <--> /wordpress
`WP_HOME` <--> `home_url()` <--> `home` <--> Site Address <--> /
Ahora aquí es donde se pone difícil!
SI definió esas constantes en suwp-config.php
archivo, no importa qué valores tenga en su página de base de datos / configuración.
De hecho, no podrá modificar este valor a través del back-end (estará atenuado). Todavía puede modificar editando su base de datos, pero hacerlo no tendrá ningún efecto en su sitio, mientras que las constantes existan en su archivo wp-config.
Su archivo de configuración no cambiará los valores en su base de datos (o, por lo tanto, su página de configuración). En cambio, se ignorarán los valores de su página de base de datos / configuración . Los valores en wp-config anulan o tienen prioridad sobre la configuración de su base de datos.
Entonces ... para concluir (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
Donde el valor de una constante WP tiene prioridad sobre un valor de wp_options / WP Settings.
El valor de registro de wp_options y el valor de Configuración de WP son los mismos.
Editar uno, por definición, edita el otro.
Son solo 2 formas diferentes de acceder a la misma variable.
Por otro lado, las constantes de WordPress son únicas e independientes.
Internamente, las constantes de WordPress (PHP) anulan sus contrapartes de db.
Si se define una constante en wp-config, no cambia la base de datos.
Pero internamente, WordPress siempre preferirá / usará su valor en lugar del db.