Annonce

Important : WordPress 2.6 est disponible en français. À lire avant la migration !
Annonce 1 : Le Codex en français a besoin de vous pour avancer !
Annonce 2 : Avant de poster, n'oubliez pas de faire une petite Recherche et de lire les règles de ce forum.
Annonce 3 : Lisez notre blog, il regorge de bonnes informations.

#1 12-05-2008 22:53:18

primo411
Connaisseur WP
Date d'inscription: 30-10-2007
Messages: 10

[Plugin dev] Problème d'activation: comportement innatendu

Bonjour ! J'ai quelques problèmes en développant un plugin... J'utilise un hook pour appeler une fonction à l'activation du plugin, ça a l'air de fonctionner sauf que les sous-fonctions ne semblent pas être appelées dans cette fonction. Laissez moi plutôt vous montrer mon code:

Code:

  1. class aixorder{
  2.  
  3.   function aixorder(){
  4.     register_activation_hook(__FILE__, array(&$this, 'aixorder_activate'));
  5.     return true;
  6.   }
  7.  
  8.   /* Plugin installation */
  9.   function aixorder_activate() {
  10.  
  11.                 /* some actions that are well executed */
  12.  
  13.                 /* this call is not done ! */
  14.     $result = $this->calculate_all_scores();
  15.  
  16.     return $result;
  17.         }
  18.  
  19.         function calculate_all_scores(){
  20.         /*blabla...*/
  21.         }
  22. }
  23. $aixorder = new aixorder;

Il semble que activate_aixorder est appelée et exécutée, mais calculate_all_scores ne l'est pas !
Je ne comprends vraiment pas, car quand je force l'appel manuellement de activate_aixorder, ça marche bien et calculate_all_score est bien exécutée:

Code:

  1. class aixorder{
  2.  
  3.   function aixorder(){
  4.     register_activation_hook(__FILE__, array(&$this, 'aixorder_activate'));
  5.     return true;
  6.   }
  7.  
  8.   /* Plugin installation */
  9.   function aixorder_activate() {
  10.  
  11.                 /* some actions that are well executed */
  12.  
  13.                 /* this call is done ! */
  14.     $result = $this->calculate_all_scores();
  15.  
  16.     return $result;
  17.         }
  18.  
  19.         function calculate_all_scores(){
  20.         /*blabla...*/
  21.         }
  22. }
  23. $aixorder = new aixorder;
  24. $aixorder->aixorder_activate();

Donc je pense qu'il y a quelque chose que j'ai mal compris dans le contexte de l'activation, quelqu'un aurait une idée ?
Merci de votre aide !

Hors ligne

 

Pied de page des forums

Propulsé par PunBB 1.2.20
© Copyright 2005-2006 WordPress France