Modificare gli URL per i contenuti statici
Il mio host ha un cluster NGINX ad alta velocità.
Vorrei caricare i miei file CSS, JS e media da questo cluster. Ho seguito questi passaggi e ho aggiunto il nuovo dominio statico tramite il mio DNS.
Le nuove impostazioni DNS si sono propagate con successo e posso accedere ai miei file statici in questo modo http://static.example.com/wp-content/themes/mytheme/style.css.
Per iniziare, vorrei modificare l'URL di caricamento dei media. Ho provato ad aggiungere il seguente snippet a wp-config.php
prima di require_once(ABSPATH.'wp-settings.php');
/** Percorso al cluster NGINX */
define( 'UPLOADS', ''.'http://static.example.com/wp-content/uploads' );
Quando salvo lo snippet sopra in wp-config.php
e aggiorno il sito, i miei file multimediali (immagini) vengono caricati dal seguente URL:
http://www.example.com/http://static.example.com/wp-content/uploads/2016/11/image-name.jpg
Come si può vedere, l'URL root viene caricato prima dell'URL statico. Qual è il modo corretto per impostare il nuovo percorso di upload? Dovrei anche eseguire una ricerca e sostituzione per i caricamenti precedenti?
Presumo anche che devo modificare i percorsi JS e CSS in functions.php
, in questo modo?:
// Prima
wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js', array(), '20161025', false );
// Dopo
wp_enqueue_script('script', 'http://static.example.com/wp-content/themes/mytheme/js/script.js', array(), '20161025', false );

Questa risposta ha risolto il problema.
Devi aggiungere questo al tuo file functions.php
.
/**
* URL personalizzato per il caricamento dei media
* @link https://wordpress.stackexchange.com/questions/77960/wordpress-3-5-setting-custom-full-url-path-to-files-in-the-media-library
*/
add_filter( 'pre_option_upload_url_path', 'upload_url' );
function upload_url() {
return 'http://static.tuosito.com/wp-content/uploads';
}
Non è necessario aggiungere lo snippet originale al file wp-config.php
.

Il modo più semplice per dire a WordPress di utilizzare un sottodominio (o un altro dominio) è definire una variabile globale nel file config.php.
define('WP_CONTENT_URL', 'http://static.tuosito.com');
Inserisci questo codice all'inizio del file di configurazione, altrimenti potrebbe non funzionare. Questo aggiornerà l'URL di tutte le risorse nella directory wp-content.
Per saperne di più, leggi la WordPress Codex
