web-dev-qa-db-fra.com

get_template_directory_uri mis en cache?

J'ai un petit problème avec une installation wordpress. En gros, j'ai deux serveurs: test.dev et staging.dev.

Configuré (à l'aide du fichier hosts), je viens de copier l'installation de WordPress test.dev sur le serveur de transfert. Fonctionne brillamment sur mon ordinateur, mais sur quelqu'un qui n'a pas test.dev aucun des fichiers CSS ou des images ne se charge. Je l'ai examiné et chaque chemin fait toujours référence à test.dev. J'ai cette fonction dans functions.php:

function route_static_path($path)
{
    echo get_template_directory_uri()."/".$path;
    return true;
}

J'ai pensé que la valeur de get_template_directory_uri() pourrait être définie dans wp-config.php mais ce n'est pas le cas. Je suis vraiment confus quant à la provenance de cette situation.

1
andy

La mise en cache n'est pas votre problème ici. L'URL de la maison et l'URL du site sont stockés dans la table wp_options de votre base de données. Vous pouvez les mettre à jour en consultant la page Paramètres> Général de votre tableau de bord WordPress ou en modifiant les valeurs des options siteurl et home directement dans la base de données, par le biais d'une requête SQL ou d'un client. comme phpMyAdmin.

Vous pouvez également remplacer n'importe quelle option de site ou d'URL personnelle stockée dans la base de données en ajoutant le code suivant à votre fichier wp-config.php:

 define( 'WP_SITEURL', 'http://' . $_SERVER['HTTP_Host'] );
 define( 'WP_HOME',    'http://' . $_SERVER['HTTP_Host'] );

Le code ci-dessus s'ajustera en fonction de votre domaine.

2
shea

Il semblerait que ce paramètre soit pour une raison quelconque stocké dans la base de données. Je viens de lancer cette requête:

UPDATE `wp_options`
SET `option_value`='http://staging.dev'
WHERE `option_name`='siteurl'
0
andy

Je pense que c'est un problème de migration de site. Il faut que tout ce qui se réfère à test.dev soit maintenant staging.dev dans la base de données. Vous pouvez utiliser ce script pour vous aider dans cette tâche: http://interconnectit.com/products/search-and-replace-for-wordpress-databases/

0
WP Themes

Je suis tombé sur le même problème. Bien que j'ai remplacé l'URL dans tous les fichiers .php et dans la table options (siteurl et home), la console Google Chrome indiquait toujours que j'essayais de charger des ressources de thème depuis un autre domaine. J'ai vérifié ma base de données et trouvé une option de cache. Je l'ai supprimé de ma base de données. Wordpress crée ensuite une nouvelle entrée à l'aide de la siteurl mise à jour de la base de données.

DELETE FROM options WHERE option_name = 'us_theme_options_css';
0
Karl Regensburger