$this 指的是当前的类上下文。因此,如果您有一个名为 MyClass 的类,则可以在该类中使用 $this 访问函数和元素。在该类之外, $this 没有上下文并且不起作用,但是如果您已经实例化了该类并且函数或变量是公共的,那么您可以通过对该类的引用来访问它们。
例子:
<?php
Class MyClass {
$class_var = "Class Var Value";
function class_func_1() {
print $this->class_var;
$this->class_func_2();
}
function class_func_2() {
print "Class Func 2";
}
}
?>
所以上面的虚拟类使用 $this 来引用它自己的元素。但是在课堂之外,你不能用这个来引用它们。但是如果我们实例化一个类的实例,我们可以通过对类实例的引用来访问它们:
<?php
print $this->class_var; // Fails miserably
$this->class_func_1(); // Also fails
$class_instance = new MyClass();
print $class_instance->class_var; // Var access works
$class_instance->class_func_1(); // Call method works
?>
由于这是一个 wordpress 功能,我很好奇您是否正在尝试访问插件(可能使用类)中的某些内容,或者可能是购买的主题中的某些内容。无论哪种方式,文件中的某处都应该有对类实例的引用。一旦你有了这个变量,你就可以访问类的动作和内容。
有了更多的信息,我想我们可能可以提供更好的方向......
更新:
好的,看来您正在使用 subscribe2 插件。在插件文件 ( subscribe2.php
) 的底部是这一行:
$mysubscribe2 = new subscribe2();
这样做是创建一个指向类实例的全局变量。因此,$this->method_name()
您可以使用$mysubscribe2->method_name()
.
但是,查看您发布的文件 - 看起来您几乎抓住了插件代码的一部分并将其放入模板中。我不确定您要完成什么,但从这里看来您正走在一条崎岖的道路上......