Articles

che Cosa'la differenza tra home_url() e site_url()

Posted by admin

TLDR:

In un non-standard di installazione, è possibile installare i file di WordPress in una sottodirectory della radice del vostro sito web.
…,e permetti ancora ai tuoi visitatori di accedere al tuo “sito web” WordPress dall’URL del dominio (root) del tuo sito, senza aggiungere il nome della sottodirectory:
(es: vs

Where the value for a WP constant takes precedence over an wp_options/ WP Settings value.

Different Configurations for WordPress

In the most standard WordPress installations, home_url e site_url avrà lo stesso valore.
Indipendentemente da ciò, rappresentano due cose diverse.

In un’installazione non standard, possono avere valori diversi.,

(// è il protocollo relative e funzionerà per entrambi o

Standard Installations (including “One-Click” Installs)

home_url: è la home page del tuo sito web (wordpress), come indicato nell’indirizzo dell’utente bar.
site_url: è la directory in cui si trovano i file di wordpress.,

L’installazione di 5 minuti di WordPress installa i file wordpress questi due valori saranno gli stessi: i file wordpress verranno installati nella stessa cartella che si desidera che le persone utilizzino per indirizzare il tuo sito Web o la porzione di wordpress (blog) del sito Web del tuo server.

Esempio 1:
l’utente accede al tuo blog all’indirizzo:
file wordpress installati in:, o nella cartella principale del sito web del tuo server.,

home_url === site_url === "www.example.com"

Esempio 2:
utente accede al tuo blog:
file di wordpress installato in: o il blog cartella all’interno della root del tuo sito web.

home_url === site_url === "www.example.com/blog"

In questo caso è il sito principale, e è la directory principale del tuo blog.,
Qui il tuo blog è separato da, e funziona come sottoinsieme di, il tuo sito web principale.
In questo caso, il tuo sito web principale non è controllato, definito o stilizzato da WordPress.
Solo il tuo blog è. Tutti gli URL nel tuo blog verranno eseguiti da

Nota: nella documentazione,” sito/sito web WordPress “(al contrario di semplicemente” sito / sito web”) si riferisce alla directory in cui sono installati i file WordPress. In questo caso, è – tutto all’interno della cartellablog., Il “sito web WordPress”, in questo scenario, non è lo stesso del tuo dominio, della tua radice o del tuo sito web principale. È un sottoinsieme del tuo sito web complessivo. Un po ‘ come un sito web all’interno di un sito web. Lo dico perché la terminologia può sembrare poco chiara o confusa, data questa particolare configurazione.

Configurazione alternativa di installazione di WordPress

Dando a WordPress la propria directory, la sezione Method II (With URL change).

Ad esempio, molte persone non vogliono intasare la cartella principale del loro sito web con tutti i file wordpress.,
Vogliono installare wordpress in una sottodirectory, *ma hanno accesso al “blog” o al “sito web WordPress” come se i file fossero installati nella radice della radice del server per il sito web.

Questo è particolarmente vero quando WordPress viene utilizzato per costruire ed eseguire un intero sito web che non ha nemmeno un “blog”.

home_url === "www.example.com"
site_url === "www.example.com/wordpress"

(Nota: questa configurazione non funziona “out of the box” solo cambiando i valori di queste variabili., Richiede ulteriori modifiche alla configurazione per funzionare correttamente)
Vedi Dare a WordPress la propria directory, la sezione intitolataMethod II (With URL change) per come farlo.

In questo caso home_url e site_url dovrebbero contenere valori diversi.

In questa configurazione, vuoi che il tuo sito web funzioni esattamente come se i file WordPress fossero installati nella directory principale del server per il tuo sito web…,
MA, per scopi organizzativi sul server,
hai effettivamente i tuoi file WordPress in una cartella chiamata wordpress nella directory principale del server per il tuo sito web.

Così, l’utente dovrà digitare per ottenere il vostro WordPress home page al posto di

wordpress funzione <–> database variabile <–> WordPress Costante

in Questa sezione si presuppone Esempio 3 configurazione di cui sopra.
url della barra degli indirizzi: www.esempio.,com
wordpress files: /wordpress directory

(Gli altri casi sono banali: tutte le variabili/funzioni mantengono/restituiscono lo stesso valore.,div> e WP_SITEURL impostazioni inserendo queste righe verso la parte superiore del wp-config.php file:

(non includere slash qui – che sarebbe configurato altrove)

Riferimento: WP_SITEURL e WP_HOME

NOTA: Questo è fonte di confusione
(mi auguro di WordPress aveva Etichettato le Impostazioni simile a php loro nomi,
come WordPress Site Address e Home Page Address o qualcosa di più esplicito come 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 <--> /

Ora Qui è dove ottiene ingannevole !,

SE hai definito quelle costanti nel tuo file wp-config.php, non importa quali valori hai nel tuo database/pagina delle impostazioni.
In effetti, non sarai in grado di modificare questo valore attraverso il back-end (sarà disattivato). Puoi ancora modificarlo modificando il tuo database, ma farlo non avrà alcun effetto sul tuo sito, mentre le costanti esistono nel tuo file wp-config.

Il file di configurazione non cambierà i valori nel database (o quindi nella pagina delle impostazioni). Invece, i valori della pagina del database / impostazioni verranno ignorati., I valori in wp-config sovrascrivono o hanno la precedenza sulle impostazioni del database.

Dove il valore di una costante WP ha la precedenza su un valore wp_options / WP Settings.

Il valore del record wp_options e il valore delle impostazioni WP sono gli stessi.
Modificando uno, per definizione modifica l’altro.
Sono solo 2 modi diversi di accedere alla stessa variabile.

D’altra parte, le Costanti di WordPress sono uniche e indipendenti.
Internamente, le costanti di WordPress (PHP) sovrascrivono le loro controparti db.
Se una costante è definita in wp-config, non cambia il database.,
Ma internamente WordPress preferirà sempre/userà il suo valore invece di quello db.

Leave A Comment