WordPress utilise l’éditeur Gutenberg basé sur des blocs pour publier des articles et des pages. Bien que Gutenberg dispose de nombreuses fonctionnalités, il affiche parfois des messages d’erreur difficiles à comprendre par les utilisateurs. « Échec de la publication : impossible de mettre à jour la base de données » est l’un de ces messages d’erreur qui empêche les utilisateurs de publier ou d’enregistrer du contenu dans l’éditeur . Cela sera ennuyeux si vous avez travaillé longtemps sur l’éditeur pour découvrir qu’il ne peut pas être enregistré ou publié. Si vous êtes confronté à ce problème, ce guide explore ses causes et fournit des solutions étape par étape pour le résoudre.
Avant de procéder au dépannage – Sauvegardez votre contenu
Bien que le contenu ne puisse pas être enregistré dans l’éditeur (dans votre base de données), vous avez la possibilité de l’enregistrer hors ligne.
- Cliquez sur les trois points verticaux (Options) dans le coin supérieur droit de l’éditeur.
- Sélectionnez l’option « Éditeur de code ».
- Copiez tout le contenu brut et collez-le dans un éditeur de texte brut comme le Bloc-notes ou TextEdit (vous pouvez également utiliser des éditeurs avancés comme Visual Studio Code). Cependant, assurez-vous d’enregistrer le fichier au format texte brut et non au format texte enrichi comme dans Microsoft Word.
- Quand vous le souhaitez, ouvrez l’éditeur de code et collez le contenu de votre fichier.
De plus, certaines des options suggérées nécessitent des modifications dans la base de données et les fichiers principaux. Assurez-vous donc d’ effectuer une sauvegarde complète de votre site (y compris la base de données) avant de procéder à de telles modifications.
Comment corriger l’erreur ?
Étant donné que l’erreur ne fournit aucun indice sur la cause première, vous n’avez pas d’autres options pour résoudre le problème avec les suggestions suivantes une par une.
1. Enregistrer les symboles émoji Unicode
Par défaut, WordPress autorise l’ utilisation de symboles emoji dans le contenu . Les emojis sont convertis en entité HTML à l’aide de la fonction wp_encode_emoji() et stockés dans la base de données avec le jeu de caractères UTF-8. Vous devez donc disposer d’un jeu de caractères et d’un classement de base de données appropriés pour prendre en charge les symboles emoji, en particulier les symboles formés avec plusieurs points de code Unicode. Par exemple, vous pourrez peut-être enregistrer le contenu avec un ☠ emoji Crâne et os croisés qui a un point de code comme U+2620. Cependant, vous ne pouvez pas enregistrer la publication lorsque vous avez des emoji comme Visage dans les nuages ️ qui ont une combinaison de points de code comme U+1F636 U+200D U+1F32B U+FE0F.
Si vous avez des symboles emoji dans le contenu, supprimez-les, puis essayez de l’enregistrer ou de le publier. Si cela fonctionne mais que vous devez utiliser fréquemment des symboles emoji dans votre contenu, utilisez l’une des options suivantes :
- Assurez-vous de modifier le jeu de caractères et le classement de la base de données en utf8mb4 ou utf8mb4_unicode_ci ou quelque chose de similaire pris en charge par votre société d’hébergement.
- Définissez correctement le jeu de caractères et le classement dans votre fichier wp-config.php à l’aide du code suivant (remplacez utf8mb4 par la valeur correcte) :
define( 'DB_CHARSET', 'utf8mb4_unicode_ci' ); define( 'DB_COLLATE', 'utf8mb4_unicode_ci' );
- Si nécessaire, utilisez un plugin pour insérer des emoji.
Si les options ci-dessus ne fonctionnent pas, ajoutez le code suivant dans le fichier functions.php de votre thème actuel . Vous aurez peut-être besoin d’un thème enfant ou d’un plugin pour que le code ne soit pas supprimé lors de la mise à jour ou de la modification de votre thème.
add_filter( 'wp_insert_post_data', function( $data, $postarr ) { if ( ! empty( $data['post_content'] ) ) { $data['post_content'] = wp_encode_emoji( $data['post_content'] ); } return $data; }, 99, 2 );
Vous devriez maintenant pouvoir enregistrer le contenu avec n’importe quel symbole emoji Unicode. Si vous n’utilisez pas d’emoji dans le contenu, suivez les suggestions ci-dessous.
2. Vérifiez l’état du site WordPress
Accédez à « Outils > Santé du site » dans votre tableau de bord WordPress pour vérifier les éventuels problèmes liés à la base de données et à l’API REST. Si l’API REST est bloquée, désactivez tous les plugins de sécurité ou de pare-feu qui pourraient être à l’origine du problème.
3. Réparez la base de données WordPress
Des tables de base de données corrompues peuvent être à l’origine de ce problème. Pour réparer votre base de données :
- Ouvrez l’application phpMyAdmin depuis votre compte d’hébergement.
- Sélectionnez votre base de données WordPress et sous l’onglet « Structure », faites défiler vers le bas (sous la liste des tables de base de données).
- Cliquez sur la case « Cocher tout » pour sélectionner toutes les tables, puis sélectionnez « Réparer la table » dans la liste déroulante.
Alternativement, vous pouvez activer le mode de réparation intégré de WordPress :
- Modifiez le fichier wp-config.php.
- Ajoutez cette ligne avant /* C’est tout, arrêtez d’éditer ! */:
define('WP_ALLOW_REPAIR', true);
Visitez https://www.votresite.com/wp-admin/maint/repair.php et cliquez sur le bouton « Réparer la base de données ».
4. Réinitialiser les permaliens de WordPress
Un fichier .htaccess corrompu peut être à l’origine de ce problème. La réinitialisation des permaliens peut résoudre le problème :
- Accédez au menu « Paramètres > Permaliens » dans le tableau de bord.
- Faites défiler vers le bas et cliquez sur le bouton « Enregistrer les modifications » sans apporter de modifications.
5. Désactiver les plugins et les thèmes
Certains plugins ou thèmes peuvent interférer avec les mises à jour de la base de données.
- Allez dans la section « Plugins > Plugins installés » et désactivez-les tous.
- Après cela, allez dans la section « Apparence > Thèmes » et passez à un thème par défaut comme Twenty Twenty-Five.
- Maintenant, essayez de publier à nouveau pour confirmer que votre thème n’est pas à l’origine du problème.
- Si cela fonctionne, activez les plugins un par un pour identifier le coupable. Si tous les plugins fonctionnent correctement avec le thème WordPress par défaut, vous pouvez alors confirmer que le problème est causé par votre thème.
6. Augmenter la limite de mémoire PHP
Une limite de mémoire trop faible peut entraîner des erreurs de base de données. Augmentez la limite de mémoire PHP de votre site en utilisant l’une des méthodes ci-dessous :
Édition de wp-config.php :
define(‘WP_MEMORY_LIMIT’, ‘256M’);
Édition du .htaccess :
php_value memory_limit 256M
Modification du fichier php.ini (si accessible) :
memory_limit = 256M
Notez que les modifications ne seront pas effectives si votre hébergeur limite la mémoire maximale. Assurez-vous donc de vérifier dans votre panneau d’hébergement ou de confirmer avec l’équipe d’assistance de l’hébergement pour comprendre la limite autorisée pour votre forfait.
7. Mettre à jour le noyau, les plugins et les thèmes de WordPress
Les fichiers WordPress obsolètes peuvent provoquer des conflits. Vous pouvez les mettre à jour et vérifier si cela résout le problème. Accédez à la section « Tableau de bord > Mises à jour » dans votre panneau d’administration WordPress et mettez à jour WordPress, les thèmes et les plugins.
Conclusion
Dans la plupart des cas, WordPress affiche l’erreur « Publication échouée : impossible de mettre à jour la base de données » en raison de problèmes de compatibilité avec les symboles emoji. La première option devrait donc résoudre le problème et permettre d’inclure des emoji dans votre contenu. dans WordPress peut provenir d’une corruption de la base de données, de conflits de plugins ou de ressources insuffisantes. En suivant ces étapes de dépannage, vous pouvez résoudre le problème et recommencer à publier du contenu en toute transparence. Si aucune des solutions ci-dessus ne fonctionne, votre hébergeur rencontre peut-être des problèmes liés à la base de données. Contactez son support pour obtenir une assistance professionnelle afin de résoudre votre problème.
Laisser un commentaire