Comment envoyer un message lors de l'activation du plugin

9

Je développe un plugin, mais pendant la phrase d'activation, je suis constamment confronté à des bugs. Cependant, il n’existe pas de moyen simple d’afficher des messages d’erreur, puisqu’une répétition de l’erreur entraînerait une erreur «sortie non impactée». J'ai essayé le hook admin_message mais cela ne fonctionne pas. Comment puis-je alerter l’utilisateur si une étape de l’activation a échoué avec raison?

    
posée lulalala 29.08.2011 - 11:31

3 réponses

8

À des fins de test, vous pouvez utiliser le système de journalisation (php_error.log):

error_log('Plugin activated', 0);

// Check for DB table existance
if(!$this->hasDBTable()){
    error_log('Database not present', 0);
    if($this->createCELabelsDBTables()){
        error_log('Database was created.', 0);
    } else {
        error_log('Error creating the CE Labels Plugin db tables!', 0);
    }

} else {
    error_log('Database OK', 0);
}

Pour envoyer une erreur à l'utilisateur sans l'erreur "En-têtes déjà envoyés", vous pouvez utiliser la fonction php trigger_error:

trigger_error('PLUGIN OK',E_USER_ERROR);

Avec Wordpress, vous devez toujours utiliser E_USER_ERROR, sinon le message ne sera pas affiché.

Je sais que error_log fonctionne parfaitement depuis que je l'utilise, mais trigger_error affiche les informations indispensables. Essayez-le et voyez par vous-même:)

    
réponse donnée Domingos Freitas 30.08.2011 - 12:38
2

SOLUTION:

register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
    file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}

insérez ce code dans le plug-in, et après une erreur, affichez "my_loggg.txt" dans votre dossier de plug-ins.

    
réponse donnée T.Todua 19.03.2015 - 00:55
0

1) Supprimez tout espacement supplémentaire dans les pages intérieures ou les pages de plug-ins.

2) supprimez le style en ligne dans les pages ou les pages de plug-ins.

cela a fonctionné pour moi à chaque fois. J'ai utilisé plusieurs fois la même méthode. lorsque le problème est survenu dans la page du plugin ou dans la page Wordpress.

Cordialement,

Hitesh Nagpal

    
réponse donnée hitesh nagpal 08.04.2015 - 06:47

Lire d'autres questions sur les étiquettes