web-dev-qa-db-fra.com

Impossible de publier de nouveaux messages

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

 enter image description here 

Lorsque je publie ou enregistre le brouillon, je reçois le message suivant: Désolé, vous n'êtes pas autorisé à modifier ce message.

 enter image description here 

En outre, sur les messages, il n'y a pas de bouton de prévisualisation.

Mesures prises pour essayer de réparer:

  1. J'ai activé WP_debug, ce qui n'a pas beaucoup aidé pour cette question.

  2. J'ai changé mon thème en 2017 pour voir s'il y avait des conflits de thèmes, aucune aide.

  3. J'ai désactivé tous les plugins après avoir changé de thème, aucune aide.

  4. J'ai comparé ma ligne wp_capablities dans wp_usermeta à une autre ligne wp_capabilities existante;

  5. 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

2
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;}.

SO ne formate pas le code ???

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

  1. Copié tous les fichiers et dossiers
  2. Base de données copiée et ajoutée à la base de données locale
  3. É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.

0