TLDR:
Dans une installation non standard, vous pouvez placer vos fichiers WordPress dans un sous-répertoire de la racine de votre site Web.
... et autorisez toujours vos visiteurs à accéder à votre "site Web" WordPress à partir de l'URL de domaine (racine) de votre site, sans ajouter le nom du sous-répertoire:
(c.-à-d. 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
Où la valeur d'une constante WP prime sur une valeur wp_options / WP Settings.
Différentes configurations pour WordPress
Dans les installations WordPress les plus standard , home_url
et site_url
aura la même valeur.
Quoi qu'il en soit, ils représentent deux choses différentes.
Dans une installation non standard , elles peuvent avoir des valeurs différentes.
Remarque: je laisse hors du protocole dans ma réponse pour une lisibilité plus facile.
Dans ce post, PREPEND URL avec TOUS:
https://
, http://
OU //
( à moins que j'inclus déjà).
( //
Est le relative
protocole et travaillera pour les deux / deux http://
ou https://
)
Installations standard (y compris les installations "en un clic")
home_url
: est la page d'accueil de votre site web (wordpress), comme indiqué dans la barre d'adresse de l'utilisateur.
site_url
: est le répertoire où se trouvent vos fichiers wordpress.
L'installation en 5 minutes de WordPress installe des fichiers wordpress. Ces deux valeurs seront identiques. Les fichiers wordpress seront installés dans le même dossier que celui que vous souhaitez utiliser pour adresser votre site Web ou la partie wordpress (blog) du site Web de votre serveur.
Exemple 1:
l'
utilisateur accède à votre blog à: www.example.com
, les
fichiers installés à wordpress: www.example.com
ou le dossier racine du site Web de votre serveur.
home_url
=== site_url
==="www.example.com"
Exemple 2:
l'
utilisateur accède à votre blog à: www.example.com/blog
, les
fichiers installés à wordpress: www.example.com/blog
ou dans le blog
dossier dans la racine de votre site Web.
home_url
=== site_url
==="www.example.com/blog"
Dans ce cas, il www.example.com
s’agit du site Web principal et de www.example.com/blog
la racine de votre blog.
Ici, votre blog est séparé de votre site Web principal et fonctionne comme un sous-ensemble de celui-ci.
Dans ce cas, votre site Web principal n'est pas contrôlé, défini ou mis en forme par WordPress.
Juste votre blog est. Toutes les URL de votre blog seront traitées parwww.example.com/blog
Remarque: dans la documentation, "site / site Web Wordpress" (par opposition à "site / site Web") désigne le répertoire dans lequel vos fichiers WordPress sont installés. Dans ce cas, c’est www.example.com/blog
- tout dans le blog
dossier. Dans ce scénario, le "site Web WordPress" n’est pas identique à votre domaine, votre racine ou votre site Web principal. C'est un sous-ensemble de votre site Web global. Un peu comme un site Web à l'intérieur d'un site Web. Je mentionne cela car la terminologie peut sembler peu claire ou source de confusion, étant donné cette configuration particulière.
Autre configuration d'installation WordPress
Donner à WordPress son propre répertoire , la section Method II (With URL change)
.
Par exemple, beaucoup de gens ne veulent pas encombrer le dossier racine de leur site Web avec tous les fichiers wordpress.
Ils veulent installer wordpress dans un sous-répertoire *, mais ils doivent accéder au "blog" ou au "site Web WordPress" comme si les fichiers étaient installés à la racine du serveur pour le site Web.
Cela est particulièrement vrai lorsque WordPress est utilisé pour créer et gérer un site Web complet qui n'a même pas de "blog".
Exemple 3:
l'
utilisateur accède à votre « blog » à: www.example.com
, les
fichiers installés à wordpress: www.example.com/wordpress
ou le dossier racine du site Web de votre serveur.
home_url
=== "www.example.com"
site_url
==="www.example.com/wordpress"
(Remarque: cette configuration ne fonctionnera pas « hors de la boîte » en changeant les valeurs de ces variables , il nécessite des changements de configuration supplémentaires pour fonctionner correctement.)
Voir Donner WordPress son propre répertoire , la section intitulée Method II (With URL change)
pour savoir comment faire.
Dans ce cas home_url
et site_url
devrait contenir des valeurs différentes.
Dans cette configuration, vous voulez que votre site fonctionne exactement comme si les fichiers WordPress ont été installés dans le répertoire racine du serveur pour votre site ...
Mais, pour des raisons d' organisation sur le serveur,
vous réellement avez vos fichiers WordPress dans un dossier appelé wordpress
dans le serveur de répertoire racine de votre site web.
Ainsi, l’utilisateur saisira www.example.com
votre page d’accueil WordPress au lieu dewww.example.com/wordpress
fonction wordpress <-> variable de base de données <-> constante Wordpress
Cette section suppose la configuration de l'exemple 3 ci-dessus.
URL de la barre d'adresse: www.example.com
fichiers wordpress: répertoire / wordpress
(Les autres cas sont triviaux: toutes les variables / fonctions conservent / retournent la même valeur.)
Comment définir les valeurs pour
site_url
et
home_url
Tout d'abord, laissez-moi noter que siteurl
et home
stocker les valeurs retournées par les fonctions ci-dessus
1) Normalement, vous définissez ces valeurs sur le panneau dorsal / tableau de bord / admin de
Settings -> General ->
siteurl
WordPress: Adresse WordPress: https://www.example.com/wordpress
home
Adresse du site: https://www.example.com
(n'incluez pas les barres obliques finales ici - elles seraient configurées ailleurs)
2) Vous pouvez également définir ces valeurs dans votre base de données WordPress:
wp_options
table ->
`options_name` | `options_value`
----------------------------------------------------
`siteurl` | `https://www.example.com/wordpress`
`home` | `https://www.example.com`
(n'incluez pas les barres obliques finales ici - elles seraient configurées ailleurs)
3) Editez votre wp-config.php
Définissez ces constantes spécifiques pour conserver vos valeurs
Définissez WP_HOME
et définissez les WP_SITEURL
paramètres en insérant ces lignes vers le haut de votre wp-config.php
fichier:
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'incluez pas les barres obliques finales ici - elles seraient configurées ailleurs)
Référence: WP_SITEURL et WP_HOME
NOTE: Ceci est déroutant
(j'aurais vraiment aimé que WordPress identifie les paramètres de manière similaire à leurs noms php,
tels que Wordpress Site Address
et Home Page Address
ou quelque chose de plus explicite, tel que location of WordPress Site core files
et browser url to access WordPress home page
)
`WP_SITEURL` <--> `site_url()` <--> `siteurl` <--> Wordpress Address <--> /wordpress
`WP_HOME` <--> `home_url()` <--> `home` <--> Site Address <--> /
Maintenant, voici où il devient difficile!
SI vous avez défini ces constantes dans votrewp-config.php
fichier, peu importe les valeurs que vous avez dans votre page de base de données / paramètres.
En fait, vous ne pourrez pas modifier cette valeur via le back-end (elle sera grisée). Vous pouvez toujours modifier en modifiant votre base de données, mais cela n'aura aucun effet sur votre site, alors que les constantes existent dans votre fichier wp-config.
Votre fichier de configuration ne changera pas les valeurs de votre base de données (ni donc de votre page de paramètres). Au lieu de cela, les valeurs de votre page de base de données / paramètres seront ignorées . Les valeurs de wp-config remplacent ou ont priorité sur les paramètres de votre base de données.
Alors ... pour conclure (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
Où la valeur d'une constante WP prime sur une valeur wp_options / WP Settings.
La valeur de l'enregistrement wp_options et la valeur des paramètres WP sont identiques.
Éditer l'un, par définition, édite l'autre.
Il ne s'agit que de 2 manières différentes d'accéder à la même variable.
D'autre part, les constantes WordPress sont uniques et indépendantes.
En interne, les constantes WordPress (PHP) remplacent leurs équivalents db.
Si une constante est définie dans wp-config, la base de données ne sera pas modifiée.
Mais en interne, WordPress préférera / utilisera toujours sa valeur plutôt que celle de la base de données.