web-dev-qa-db-fra.com

Pourquoi mon plugin continue à se désactiver automatiquement?

J'ai un plugin appelé 'thème virtuel' que j'ai téléchargé à partir du répertoire du plugin, et cela fonctionne très bien, mais j'ai remarqué que parfois, quand il y a un changement avec d'autres plugins, il semble ne plus fonctionner et affiche une page introuvable. Aller à la page du plugin, il montre toujours comme son actif. Donc, ce que je dois faire pour que ça fonctionne à nouveau, c'est de cliquer sur désactiver, puis de cliquer sur Activer pour que ça commence à fonctionner. Je remarque que cela se produit plus souvent lorsque je finis par désactiver un autre plugin, celui-ci cesse de fonctionner. Je remarque également que cela se produit parfois lors d’un changement d’option, comme bbpress par exemple, après avoir effectué un changement, le thème virtuel cesse de fonctionner. Est-ce que quelqu'un sait pourquoi il fait cela.

1
Alex Pena

C'est un peu un jeu de devinettes sans rapports d'erreur. Voici quelques moyens de collecter des informations qui vous aideront, vous ou d'autres, à en diagnostiquer la cause:

Activer WP-Debug:

WordPress WP Page DEBUG Codex * Faites attention si votre site est actif si vous choisissez d'utiliser define('WP_DEBUG', true); dans votre fichier wp-config.php, par défaut les erreurs seront visibles sur le site en direct.

WP-Debug (Mieux pour les sites en direct):

Ajoutez le code suivant à votre fichier themes.php de themes. Il affichera uniquement les erreurs lors de l'ajout de ? debug=1, ?debug=2 ou ?debug=3 à la fin de l'URL de la page en cours.

<?php 
/**
* Written by Jared Williams - http://new2wp.com
* @wp-config.php replace WP_DEBUG constant with this code
* Enable WP debugging for usage on a live site
* http://core.trac.wordpress.org/browser/trunk/wp-includes/load.php#L230
* Pass the '?debug=#' parameter at the end of any url on site
*
* http://example.com/?debug=1, /?debug=2, /?debug=3
*/
if ( isset($_GET['debug']) && $_GET['debug'] == '1' ) {
    // enable the reporting of notices during development - E_ALL
    define('WP_DEBUG', true);
} elseif ( isset($_GET['debug']) && $_GET['debug'] == '2' ) {
    // must be true for WP_DEBUG_DISPLAY to work
    define('WP_DEBUG', true);
    // force the display of errors
    define('WP_DEBUG_DISPLAY', true);
} elseif ( isset($_GET['debug']) && $_GET['debug'] == '3' ) {
    // must be true for WP_DEBUG_LOG to work
    define('WP_DEBUG', true);
    // log errors to debug.log in the wp-content directory
    define('WP_DEBUG_LOG', true);
}
?>

Référence et instructions d’utilisation: Extrait de la meilleure collection, admin Stack Exchange

Plugin de fonctions obsolètes (Log Deprecated):

Vérifie si votre thème ou vos plug-ins utilisent des fonctions obsolètes pouvant entraîner des problèmes.

Activer la journalisation des erreurs:

Remplacez votre code actuel dans wp-config.php par ceci pour permettre la journalisation des erreurs qui devrait vous orienter dans la bonne direction:

/**
 * This will log all errors notices and warnings to a file called debug.log in
 * wp-content only when WP_DEBUG is true. if Apache does not have write permission, 
 * you may need to create the file first and set the appropriate permissions (i.e. use 666).
 */

define('WP_DEBUG', true); // or false
if (WP_DEBUG) {
  define('WP_DEBUG_LOG', true);
  define('WP_DEBUG_DISPLAY', false);
  @ini_set('display_errors',0);
}

Références:

Une fois que vous avez décidé de l’utiliser et de le mettre en œuvre, vous commencerez à collecter des données pouvant vous aider à diagnostiquer votre problème. Si vous avez besoin d’aide pour déchiffrer les données, postez-les ici. Peut-être que je peux aider ou quelqu'un d'autre peut vous aider.

2
Jeremy Jared