8
votes

Comment déboguer du code PHP tout en développant des plug-ins WordPress?

J'ai commencé à développer quelques plug-ins WordPress seul. Tout en développant un plugin, j'utilise différents crochets (wp_head, add_shortcode, etc.) dans le plugin. Quelqu'un peut-il vous conseiller un moyen simple et pratique de Déboguer un plug-in WordPress ou y a-t-il autre moyen de développer facilement un plug-in WordPress. Merci d'avance.


2 commentaires

4 Réponses :


2
votes

Pour le débogage, j'utilise généralement la fonction PHP standard pour inspecter les variables, vous savez, var_export et print_r . Si j'ai un bug qui est plus difficile à détecter, j'utilise xdebug: http://xdebug.org/ .

De plus, dans WordPress, vous pouvez utiliser ce plug-ins pour enregistrer le contenu de vos variables:


0 commentaires

1
votes

Autres choses qui peuvent vous être utiles:

1) plugins qui recherchent des fonctions obsolètes dans votre code, tels que Appels obsolètes ou notices obsolètes .

2) Réglage de la constante wp_debug fournira des informations utiles dans le journal PHP.


0 commentaires

2
votes

Le plugin de barre de débogage est un bon départ lorsqu'il est combiné avec le mode de débogage du tournage et la journalisation du débogage dans le fichier WP-CONFIG.PHP.

Barre de débogage

Débogage dans les paramètres WordPress, Débogou et Debuglog


0 commentaires

4
votes

L'utilisation d'un débogueur PHP peut être bonne, mais cela peut aussi être un peu comme "Suivre la balle rebondissant". Pour la simplicité, activez wp_debug et wp_debug_log (voir Débogage dans WordPress ) et utilisez le ERROR_LOG () fonction Pour vider des informations utiles au fichier WP-Content / Débug.log.

J'ai tendance à préfixer les instructions de journal avec la méthode de la classe, la fonction ou l'inclure le nom de fichier, de sorte que je sache où ils viennent. E.g. P>

error_log(__METHOD__ . ": value = $value");
error_log(__FUNCTION__ . "\n" . print_r($_POST, 1));
ob_start();
var_dump($collection);
error_log(basename(__FILE__) . "\n" . ob_get_clean());


0 commentaires