web-dev-qa-db-fra.com

Débogage avec functions.php

J'essaie de vérifier la sortie d'une variable dans mon fichier functions.php qui s'exécute après un nouvel ordre woocommerce. Le code obtiendra l'heure d'une nouvelle commande et l'enregistrera dans une variable pour que je puisse l'utiliser ailleurs, le code étant:

$meeting_time = wc_get_order_item_meta($order_id, 'Time');
print_r($meeting_time);

J'ai essayé plusieurs manières d'imprimer l'information:

  • print_r
  • javascript popup box
  • écriture dans le journal des erreurs

mais je n'arrive pas à obtenir quoi que ce soit qui fonctionne car mes connaissances en php ne sont pas très bonnes.

Je veux être capable de voir la sortie de la variable pour m'assurer qu'elle renvoie ce que je veux.

Est-ce que quelqu'un peut m'aider?

S'il te plaît et merci.

1
Matt.M

Vous pouvez utiliser var_dump() au lieu de print_r() - vous obtenez le type et la valeur de la variable. Cela fonctionnera également si votre variable contient FALSE ou NULL.

print_r( false ); # doesn't output anything
var_dump( false ); # output: bool(false)

print_r( NULL ); # doesn't output anything
var_dump( NULL ); # output: NULL

Si vous avez des tableaux ou des objets à inspecter, vous pouvez utiliser un plugin tel que Kint Debugger pour formater la sortie dans un format plus lisible.

3
RRikesh

la fonction wc_get_order_item_meta requiert un identifiant d'élément de commande, pas son identifiant.

wc_get_order_item_meta($item_id, $key, $single );

Toutes les commandes étant stockées sous forme d'articles, vous pouvez obtenir la date/heure de l'article à partir de l'ID de commande et l'utiliser à la place.

$order = get_post($orderID);
$order_time = $order->post_date;

alors vous pouvez l'imprimer en utilisant:

print_r($order_time);
0
TCode