URL relativa o dinamica del sito è possibile?
Ho un'installazione WordPress locale su Xampp che utilizzo come una sorta di intranet con alcuni colleghi. È necessario che possano accedervi tramite il nostro router LAN - ho scoperto che devo cambiare l'URL del sito e i link da http://localhost:8080 al mio IP http://192.168.x.xx:8080 affinché immagini e CSS vengano visualizzati.
Tuttavia, quando ci connettiamo a un router diverso o al mio router da viaggio, questo IP cambia e ovviamente il sito smette di funzionare sulla LAN. Non vorrei dover fare search/replace e cambiare il nome del sito ogni volta che un nuovo computer e/o server ospita il sito locale.
Domanda: Mi piacerebbe sapere se esiste un modo per rendere dinamico l'URL del sito/home in base all'IP corrente o al nome del computer host. O se sto cercando il tipo sbagliato di soluzione.
Ho cercato molto una soluzione a questo problema, ma credo che il mio problema sia non sapere quali termini cercare - o se esiste una soluzione migliore. Spero che qualcuno più esperto possa indicarmi la direzione giusta.
- In base alle mie ricerche, ho provato alcuni plugin come Relative URLs e "Root relative URLS" sperando risolvessero, ma non hanno fatto differenza. - Ho anche impostato un indirizzo IP statico nel mio router da viaggio - tuttavia, il problema persiste perché dovrei comunque cambiare l'indirizzo IP nel sito se cambia il computer. - Ho anche provato questo nel mio wp-config:
<?php
define('WP_HOME', 'http://' . $_SERVER['HTTP_HOST']);
// aggiungi la riga seguente se hai un'installazione in sottodirectory
define('WP_SITEURL', WP_HOME . '/wordpress');

Di solito evito completamente il problema ogni volta che creo un nuovo sito WordPress:
define('WP_HOME', '/');
define('WP_SITEURL', '/');
farà sì che WordPress utilizzi URL relativi alla root per tutto. Questo rende molto più semplice la migrazione del sito su altri domini. Ovviamente, se accedi al tuo sito utilizzando una cartella (es. "http://<dominio>/blog") potresti cambiarli in:
define('WP_HOME', '/blog/');
define('WP_SITEURL', '/blog/');
Per i siti esistenti, assicurati che il database e qualsiasi file del tema/plugin sia privo di URL assoluti generati da WordPress utilizzando i vecchi valori di WP_HOME e WP_SITEURL.
MODIFICA: giusto per chiarire, aggiungi queste definizioni al tuo wp-config.php.

Se qualcuno si trova in una situazione simile alla mia, ho trovato una soluzione aggiungendo:
/* That's all, stop editing! Happy blogging. */
/** Percorso assoluto alla directory di WordPress. */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/* QUESTO È CODICE PERSONALIZZATO CREATO DA ZEROFRACTAL PER RENDERE DINAMICO L'ACCESSO AL SITO */
$currenthost = "http://".$_SERVER['HTTP_HOST'];
$currentpath = preg_replace('@/+$@','',dirname($_SERVER['SCRIPT_NAME']));
$currentpath = preg_replace('/\/wp.+/','',$currentpath);
define('WP_HOME',$currenthost.$currentpath);
define('WP_SITEURL',$currenthost.$currentpath);
define('WP_CONTENT_URL', $currenthost.$currentpath.'/wp-content');
define('WP_PLUGIN_URL', $currenthost.$currentpath.'/wp-content/plugins');
define('DOMAIN_CURRENT_SITE', $currenthost.$currentpath );
@define('ADMIN_COOKIE_PATH', './');
Nel file wp-config.php Ho trovato questa soluzione sul sito: http://davidmregister.com/dynamic-wp-siteurl/
Grazie a tutti!
