J'ai travaillé avec un client pour migrer un site vers un nouveau fournisseur d'hôte. J'ai migré la base de données manuellement et j'ai rencontré un problème que je n'avais jamais vu auparavant. Je peux éditer TOUTES les publications existantes, mais lorsque j'essaie de créer une nouvelle publication - dans le champ Permalink, sous "Saisir le titre ici", je vois: Permalink:? Preview = true
Lorsque je publie ou enregistre le brouillon, je reçois le message suivant: Désolé, vous n'êtes pas autorisé à modifier ce message.
En outre, sur les messages, il n'y a pas de bouton de prévisualisation.
Mesures prises pour essayer de réparer:
J'ai activé WP_debug, ce qui n'a pas beaucoup aidé pour cette question.
J'ai changé mon thème en 2017 pour voir s'il y avait des conflits de thèmes, aucune aide.
J'ai désactivé tous les plugins après avoir changé de thème, aucune aide.
J'ai comparé ma ligne wp_capablities dans wp_usermeta à une autre ligne wp_capabilities existante;
J'ai essayé une instruction SQL pour remplacer le cap d'admin, à savoir:
UPDATE wp_usermeta SET meta_value = REPLACE (meta_value, 'a: 1: {s: 13:\"administrateur \"; s: 1:\"1 \"', 'a: 1: {s: 13:\"administrateur\"; b: 1 ');
Alors maintenant, ma limite d'administration est définie sur: a: 1: {s: 13:\"administrateur \"; b: 1 ')
Mais je reçois toujours les mêmes résultats.
J'espérais que quelqu'un pourrait reconnaître cette erreur et pouvoir indiquer où je me suis planté.
THX! Chipleh
Il y a toujours des références à l'ancien domaine dans votre base de données, qui doivent être corrigées.
Étape 1 : allez à Paramètres -> Permaliens et cliquez sur Enregistrer les modifications . Cela corrigera vos permaliens.
Étape 2 : installer et activer Meilleure recherche Remplacer plugin. Allez dans Outils -> Meilleure recherche remplacer. Remplacez l'ancien domaine (example.com) par le nouveau (what.net) dans toutes les tables.
Vous pouvez ignorer l'étape 2 si le nom de domaine n'a pas changé.
Assurez-vous que la limite d'administration est exactement a:1:{s:13:"administrator";b:1;}
.
Bien que ma réponse ne résout pas votre problème d'autorisation, mais cela peut aider lorsque vous réessayez de reconstruire le site après plusieurs échecs.
Une fois que j'ai copié mon wordpress en ligne au local, pour le faire fonctionner, j'ai juste suivi ces étapes
Édité le fichier wp-config.php comme suit, ainsi que les informations d'identification de la base de données (j'espère que cela fonctionnera pour vous) -
// Partie du fichier wp-config avant require_once (ABSPATH. 'Wp-settings.php');
$ content_directory = "/ content"; $ plugins_directory = "/ code";
$ currenthost = "http: //". $ _ SERVER ['HTTP_Host']; $ currentpath = preg_replace ('@/+ $ @', '', nom de répertoire ($ _ SERVER ['SCRIPT_NAME'])); $ currentpath = preg_replace ('// wp. + /', '', $ currentpath); define ('WP_HOME', $ currenthost. $ currentpath); define ('WP_SITEURL', $ currenthost. $ currentpath);
define ('WP_CONTENT_URL', $ currenthost. $ currentpath. $ content_directory); define ('WP_CONTENT_DIR', nom du répertoire (FICHIER). $ répertoire_contenu);
define ('DOMAIN_CURRENT_SITE', $ currenthost. $ currentpath);
define ('WP_PLUGIN_DIR', WP_CONTENT_DIR. $ plugins_directory); define ('WP_PLUGIN_URL', WP_CONTENT_URL. $ plugins_directory); define ('WPMU_PLUGIN_DIR', WP_CONTENT_DIR. "/ multicode"); define ('WPMU_PLUGIN_URL', WP_CONTENT_URL. "/ multicode");
define ('UPLOADS', WP_CONTENT_DIR. '/ files');
define ('WP_POST_REVISIONS', 2); define ('WP_DEBUG_DISPLAY', false);
@define ('ADMIN_COOKIE_PATH', './');
/ * CODE MANUEL FIN ICI * /
Ou vous pouvez spécifier manuellement les $currenthost
et $currentpath
spécifiques à votre installation. Et j'ai pu obtenir tout pareil au niveau local.