如何在可用于functions.php的插件中创建变量

时间:2018-11-30 05:53:41

标签: php wordpress

在以下代码中,wordpress插件内部存在。我想使$ recipient_id可用于functions.php中的函数。最好的方法是什么。

class Private_Messages_Notifications {

...

public function new_message_notification( $message, $thread ) {

    ...

    $recipient_id = absint( $thread->get_recipient_id() );

    }

}

4 个答案:

答案 0 :(得分:0)

  

使用会话

您的插件PHP文件...

session_start();
$_SESSION['variableName'] = $var_value;

打开您的功能文件

session_start();
$var_value = $_SESSION['variableName'];

  

如果变量没有,您还可以使用 cookies 传递值   需要安全...

您的插件PHP文件...

$_COOKIE['varname'] = $var_value;

打开您的功能文件

$var_value = $_COOKIE['varname'];

  

使用目标

您的插件PHP文件

    function myValue(){
       global $varName;

       $varName = 'something';
    }

    add_action('wp_roles_init', 'myValue');

打开您的功能文件

global $varName;
echo $varName;

答案 1 :(得分:0)

您在插件代码中使用global变量:

class Private_Messages_Notifications {

...

public function new_message_notification( $message, $thread ) {
   global $recipient_id;
    ...

    $recipient_id = absint( $thread->get_recipient_id() );

    }

}

并使用

在您的functions.php文件中使用它
global  $recipient_id;

答案 2 :(得分:0)

您也可以尝试此解决方案,它对我有用。

您的插件PHP文件...

define('TEST_VAR','TEST_VAR_VALUES');

打开您的功能文件

$var = TEST_VAR;

如果您遇到任何问题,请告诉我。

答案 3 :(得分:0)

使用类常量:

class Foo {
    const GREETING = 'Hello';
}

// somewhere else
echo Foo::GREETING;