在主题文件中定义全局变量,在插件文件中调用该变量

时间:2020-08-29 作者:Jain

我正在创建一个自定义WordPress主题,我想在主题文件中定义一个全局变量,并在插件文件中调用该变量。我在google上搜索了很多关于这个主题的StackOverflow帖子,例如:

在主题文件中创建函数

<?php
function ww_new(){
global $ww_new;

$ww_new = $post_slug;
}
add_action(\'wp_roles_init\', \'ww_new\');
?>
并在插件文件中调用它

global $ww_new;
echo $ww_new;
但这种方法对我不起作用。有什么线索吗?

1 个回复
SO网友:Hector

关于您的问题,最重要的是加载优先级。默认情况下,插件在主题之前加载。因此,当您在functions.php 像您的示例一样,它在插件代码中不可用。

global $ww_new;
echo $ww_new;
但是,如果在定义后确保代码正在运行,则可以使用定义的全局变量。可以使用挂钩。

在里面functions.php 将代码更改为

function ww_new(){
    global $ww_new;
    $ww_new = $post_slug;
}

// Define it immediately after `init` in a high priority.
add_action(\'init\', \'ww_new\', 1, 1);
然后,在你的插件代码中,你可以像

 add_action( \'init\', \'ww_new_usage\', 10, 1 );

 function ww_new_usage() {
    global $ww_new;
    // Use the variable here.
 }
请阅读$priority 部分add_action developer docs.

相关推荐

在wp-config-sample.php中找到回车控制字符(^M)

在Linux发行版中新安装WordPress时,wp-config-sample.php 包含任何其他字符中都找不到的回车控制字符。发行版中的php文件。跑步egrep -l $\'\\r\'\\$ *.php 在WP的基本目录中,将仅返回wp-config-sample.php我不担心消除控制字符,也不担心它会干扰安装操作(不会)。我只是想知道为什么wp-config-sample.php 是唯一存在此异常的文件。WP versions问题was reported 在版本4.6.15中。它仍然