recherche

Maison  >  Questions et réponses  >  le corps du texte

Appeler des variables en dehors des fichiers de plugin et à l'intérieur des fichiers de fonction

J'utilise le plugin de comparaison YITH WooCommerce et je mettrai le fichier contenant le code lié à mon problème :

https://file.io/StHr7KBJBdxF

$current_cat变量已设置为等于:public$current_cat=array()$this->current_cat已被用于代码的某些部分,如何在文件外和函数文件中调用$this->current_cat?

class YITH_Woocompare_Frontend_Premium extends YITH_Woocompare_Frontend {

    …

    /**
     * The list of current cat inside the comparison table
     *
     * @since 1.0.0
     * @var array
     */
    public $current_cat = array();

Par exemple : $this->products_list; est utilisé, si je veux l'appeler en dehors du fichier et dans le fichier de fonction, c'est comme ceci : $products_list=isset($_COOKIE[get_COOKIE_name()]) ? json_decode(wp_unslash($_COOKIE[get_COOKIE_name()]): array();

J'espère que vous comprenez ce que je veux dire. S'il s'agit d'une question de débutant, ne la contestez pas, car tout le monde n'est pas aussi professionnel que vous. De plus, j'ai passé beaucoup de temps à résoudre ce problème. Je n’essaie pas ici de poser une question rapide pour trouver une réponse rapide.

P粉798343415P粉798343415501 Il y a quelques jours423

répondre à tous(1)je répondrai

  • P粉262113569

    P粉2621135692023-07-18 09:50:22

    您的current_cat是由您的插件定义的类的公共属性。

    在该类的函数中,代码可以使用$this->current_cat来访问该属性。为什么?在该类的代码中,$this是指向该类当前实例的引用。->对象操作符告诉php在$this内查找。

    在该类的代码之外,您可以通过以下方式访问公共属性。

    $my_object = new PluginClass();
    $cat = $my_object->current_cat;
    您正在尝试执行示例的第二行中显示的操作。要执行此操作,您需要访问第一行返回的new PluginClass()变量。不同的插件有不同的方法来使这种类型的信息可用于主题代码(functions.php)。必须查看插件的代码以确定如何执行此操作,或查看文档,或咨询插件的支持论坛。

    恕我直言,解释php类的工作原理对于Stack Overflow的答案来说太复杂了。解释WordPress、插件和主题代码的交互方式也是如此。我希望这个答案能为您指明一个有用的方向。


    répondre
    0
  • Annulerrépondre