Wordpress 如何引用$this->;在不同的php文件中

Wordpress 如何引用$this->;在不同的php文件中,wordpress,file,function,reference,subscribe,Wordpress,File,Function,Reference,Subscribe,具体来说,我不知道我在做什么,但我试图从另一个文件引用$this 我正在与Wordpress(subscribe2插件)合作,试图从插件中获得订阅特定类别的功能,并将其放入我自己的注册表单中 插件的设置中已经有了这样做的功能,因此我想把它们放在我自己的表格中,但它们看起来是这样的: $this->get_usermeta_keyname('s2_subscribed') 所以我的问题是:如何在我自己的文件中引用“$this”?我整个上午都在谷歌上搜索,但我所有的结果都将“$this”视为

具体来说,我不知道我在做什么,但我试图从另一个文件引用$this

我正在与Wordpress(subscribe2插件)合作,试图从插件中获得订阅特定类别的功能,并将其放入我自己的注册表单中

插件的设置中已经有了这样做的功能,因此我想把它们放在我自己的表格中,但它们看起来是这样的:

$this->get_usermeta_keyname('s2_subscribed')

所以我的问题是:如何在我自己的文件中引用“$this”?我整个上午都在谷歌上搜索,但我所有的结果都将“$this”视为“this”,而没有显示我想要的内容。

$这是指当前的课堂上下文。因此,如果您有一个名为MyClass的类,那么在该类中,您可以使用$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";
    }
}
?>
这样做的目的是创建一个指向类实例的全局变量。因此,您可以使用
$mysubscribee2->method\u name()
,而不是使用
$this->method\u name()


然而,看看你发布的文件,它看起来就像你抓取了一部分插件代码,然后把它放到了一个模板中。我不确定您试图完成什么,但从这里看来,您正沿着一条崎岖的道路前进……

$这是指进行此调用的同一对象。如果您在任何类/对象范围之外调用它,那么$this并不意味着任何东西上面的代码定义在哪里?它在class.php文件中吗?对不起,我真的不知道我在做什么。我可以将其更改为在我自己的文件中调用该对象吗?它是在you_subscriptions.php中定义的,它定义了整个设置页面。我正在尝试从插件访问某些内容。在上面的示例中:get_usermeta_keyname(“”)未在文件中定义,$this也未定义,那么它们是从哪里来的呢?我知道$this允许某人访问该类中的函数,但该函数没有在文件中定义,至少我不这么认为。文件如下:我尝试将整个内容粘贴到自己的文件中,但$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
?>
$mysubscribe2 = new subscribe2();