web-dev-qa-db-fra.com

Comment accéder à la variable globale $ menu dans une fonction de classe

pourquoi ne puis-je pas accéder à la variable globale $menu dans une fonction de classe php?

class adminMenus {
   public function getWPdefaultmenus(){
      global $menu;
      return $menu;
   }
}

en utilisant ce code dans un fichier plugin et cette fonction retourne toujours NULL.

Édité ce que je fais après la réponse de @Will the Web Mechanic

class adminMenus {
     private $getWPdefaultmenus;
     public function __construct(){
        add_action( 'admin_menu', array( $this, 'getWPdefaultmenus' ) );
      }
      public function getWPdefaultmenus(){
          global $menu;
          $this->getWPdefaultmenus = $menu;
      }
    }

mais cela renvoie l'erreur: Erreur irrécupérable: impossible d'accéder à la propriété vide

1
devdarsh

Vous devez vous connecter à une action qui se produit après que le global $menu a été défini.

par exemple:

class adminMenus {
   public function getWPdefaultmenus(){
      global $menu;
      return $menu;
   }
 add_action( 'admin_menu', array( $this, 'getWPdefaultmenus' ) );
}
1