Rufen Sie Variablen außerhalb von Plugin-Dateien und innerhalb von Funktionsdateien auf
P粉798343415
P粉798343415 2023-07-17 18:42:42
0
1
414

Ich verwende das YITH WooCommerce-Vergleichs-Plugin und stelle die Datei mit dem Code für mein Problem ein:

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();

Zum Beispiel: $this->products_list; wird verwendet, wenn ich es außerhalb der Datei und in der Funktionsdatei aufrufen möchte, sieht es so aus: $products_list=isset($_COOKIE[get_COOKIE_name()])? json_decode(wp_unslash($_COOKIE[get_COOKIE_name()]): array();

Ich hoffe, du verstehst, was ich meine. Wenn es sich um eine Anfängerfrage handelt, dissen Sie bitte nicht, denn nicht jeder ist so professionell wie Sie. Darüber hinaus habe ich viel Zeit damit verbracht, dieses Problem zu lösen. Ich versuche hier nicht, eine kurze Frage zu stellen, um eine schnelle Antwort zu finden.

P粉798343415
P粉798343415

Antworte allen(1)
P粉262113569

您的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、插件和主题代码的交互方式也是如此。我希望这个答案能为您指明一个有用的方向。


Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage