나는 YITH WooCommerce 비교 플러그인을 사용하고 내 문제와 관련된 코드가 포함된 파일을 넣을 것입니다:
https://file.io/StHr7KBJBdxF
$current_cat变量已设置为等于:public$current_cat=array()$this->current_cat已被用于代码的某些部分,如何在文件外和函数文件中调用$this->current_cat?
예: $this->products_list;를 사용하는데, 파일 외부 및 함수 파일에서 호출하려면 다음과 같습니다. $products_list=isset($_COOKIE[get_COOKIE_name()])? json_decode(wp_unslash($_COOKIE[get_COOKIE_name()]): 배열();
내 말이 무슨 뜻인지 이해해 주시길 바랍니다. 이것이 초보적인 질문이라면 모든 사람이 당신만큼 전문적인 것은 아니기 때문에 디스하지 마십시오. 게다가 저는 이 문제를 해결하는 데 많은 시간을 보냈습니다. 나는 빠른 답변을 찾기 위해 여기서 빠른 질문을 하려는 것이 아닙니다.
您的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、插件和主题代码的交互方式也是如此。我希望这个答案能为您指明一个有用的方向。