Bonjour, j'ai développé un site web WordPress sur mon localhost puis je l'ai transféré sur un serveur en direct. Tout fonctionne bien sauf wp-admin. Quand je vais à domain/wp-admin, il affiche un écran blanc. Pourtant, lorsque je vais sur domain/wp-login.php, cela me permet de me connecter à l’administrateur. De plus, si j'essaie de créer un nouveau message ou de mettre à jour des paramètres, un écran blanc reste vide, mais une fois rafraîchi, il a enregistré les paramètres/ajouté le message, etc. Le site est www.nuvogadgets.com.
Des idées? Merci!
Lorsque vous dites déplacé WordPress, que voulez-vous dire exactement,
Avez-vous copié l'intégralité de votre installation WordPress de votre hôte local sur votre serveur distant sans installer WordPress d'abord sur votre hôte de destination?
Avez-vous exporté votre base de données SQL à partir de localhost puis importé sur votre serveur distant?
Avez-vous installé WordPress sur votre serveur distant avant de copier votre dossier de thèmes?
Il est probable que les paramètres trouvés sous Settings -> General
pour les deux,
Sont à la fois incorrects et pointent-ils toujours vers votre environnement localhost.
Vous devez installer WordPress à partir de zéro sur votre serveur distant avant de copier votre thème au lieu de copier l'intégralité de votre dossier WordPress à partir de votre hôte local.
Sinon, connectez-vous à votre gestionnaire MySQL (probablement phpMyAdmin) et modifiez les entrées pour,
Sous la table wp_options
.
Comme suggéré par Damien (dans les commentaires), il existe bien sûr une section entière du Codex consacrée à ce sujet,
http://codex.wordpress.org/Moving_WordPress
En particulier, le titre de section suivant "Si vous oubliez de modifier les emplacements" , concerne directement l'URL d'adresse WordPress et l'URL d'adresse de site mentionnés ci-dessus.
Chaque fois que je copie mon WordPress dans un nouvel emplacement, je reprends toujours mon script php de modificateur de base de données:
<?php
$database_Host = '';
$database_user = '';
$database_pass = '';
$database_name = '';
$replacement_values = array( 'http://oldurl' => 'http://newurl' );
$text_fields = array( 'char', 'text', 'varchar' );
$mysql = mysql_connect( $database_Host, $database_user, $database_pass );
if ( !$mysql ) {
die( 'Could not connect: ' . mysql_error() );
}
$mysql_database = mysql_select_db( $database_name, $mysql );
if ( !$mysql_database ) {
die( 'Can\'t select database: ' . mysql_error() );
}
$tables_result = mysql_query( 'SHOW TABLES' );
while ( $tables_row = mysql_fetch_row( $tables_result ) ) {
foreach ( $tables_row as $table ) {
$columns_result = mysql_query( 'SHOW COLUMNS FROM ' . $table );
while ( $columns_row = mysql_fetch_assoc( $columns_result ) ) {
$column = $columns_row[ 'Field' ];
$type = $columns_row[ 'Type' ];
foreach ( $text_fields as $text_field_type ) {
if ( strpos( $type, $text_field_type ) !== false ) {
echo '<p>' . $type . ' - ' . $column . ':' . $table . '</p>';
foreach ( $replacement_values as $replace => $replacement ) {
$replace_query = sprintf( 'UPDATE %s SET %s = REPLACE(%s, \'%s\', \'%s\')', $table, $column, $column, $replace, $replacement );
mysql_query( $replace_query );
}
break;
}
}
}
}
}
mysql_free_result( $columns_result );
mysql_free_result( $tables_result );
mysql_close ( $mysql );
?>
Vous pouvez changer les valeurs ici:
$replacement_values = array( 'http://oldurl' => 'http://newurl' );
à ce que vous voulez remplacer.