2012-05-11 2 views
0

J'ai une installation wordpress où les guillemets magiques est activé dans le fichier phpini. cette cause que chaque citation est dupliquée chaque fois que je mets à jour un post.citations magiques wordpress par le code php

Je ne peux pas changer le phpini est hors de mes capacités, de sorte que le seul moyen est le code php.

le paramètre dans mon fichier wp-config.php est défini en citant la magie à 0.

Quelqu'un sait où j'ajouter du code à exécuter.

J'utilise le poste personnalisé donc j'ai besoin d'une solution avec ce compatible.

merci d'avance.

+1

Ou essayez de créer un '.htaccess' contenant' php_flag magic_quotes_gpc off'. – ThiefMaster

+0

Wow, le reste du monde savait Magic Quotes était un désastre il y a une décennie ... – sarnold

+0

merci pour la réponse, mais si je commente la fonction d'échappement, je ne peux pas mettre à jour le système automatiquement à l'avenir. et j'ai besoin de plus de chance de ne pas l'oublier. –

Répondre

0

à la fin que j'ai trouvé ceci:

if (get_magic_quotes_gpc()) { 
    $_POST  = array_map('stripslashes_deep', $_POST); 
    $_GET  = array_map('stripslashes_deep', $_GET); 
    $_COOKIE = array_map('stripslashes_deep', $_COOKIE); 
    $_REQUEST = array_map('stripslashes_deep', $_REQUEST); 
} 

pour définir au début de ma page.

et cela fonctionne.

grâce à tous. Parlez à votre hébergeur pour désactiver cette fonction horrible.

2
  1. Essayez de mettre ini_set('magic_quotes_gpc', 0); en haut de vos pages
  2. Mettez php_flag magic_quotes_gpc off dans un fichier .htaccess dans votre répertoire racine Wordpress
  3. Utilisez le code pour dépouiller les slahes automatiquement pour vous. Cela devrait aller en haut des pages sur lesquelles vous souhaitez que cela fonctionne:

.

if (get_magic_quotes_gpc()) { 
    $process = array(&$_GET, &$_POST, &$_COOKIE, &$_REQUEST); 
    while (list($key, $val) = each($process)) { 
     foreach ($val as $k => $v) { 
      unset($process[$key][$k]); 
      if (is_array($v)) { 
       $process[$key][stripslashes($k)] = $v; 
       $process[] = &$process[$key][stripslashes($k)]; 
      } else { 
       $process[$key][stripslashes($k)] = stripslashes($v); 
      } 
     } 
    } 
    unset($process); 
} 
+0

J'ai essayé la méthode .htaccess mais j'ai cette erreur: Erreur interne du serveur Le serveur a rencontré une erreur interne ou une mauvaise configuration et n'a pas pu terminer votre requête. Veuillez contacter l'administrateur du serveur, le webmaster et informez-les de l'heure à laquelle l'erreur est survenue et de tout ce que vous avez pu faire qui pourrait avoir causé l'erreur. Plus d'informations sur cette erreur peuvent être disponibles dans le journal des erreurs du serveur. –

Questions connexes