Wordpress - 定义常量给出 'Warning: Use of undefined constant' 错误
Wordpress - Define constant gives 'Warning: Use of undefined constant' error
我正在为 Wordpress 构建一个插件,需要定义常量。我在我的插件基础文件中创建了一些常量,它们工作得很好。例如:
if(!defined('SIMleague_pluginName')){
define('SIMleague_pluginName', 'SIM League');
}
现在我正在尝试添加更多常量:
if(!defined('SIMleague_active')){
define('SIMleague_active', 'activated');
}
对于我定义的每个常量,我总是收到这些错误:
Warning: Use of undefined constant ....
我是不是漏了什么?我试图添加多个常量。甚至复制了第一个并更改了常量名称和值以确保我没有输入错误。但仍然没有运气......
我使用的调试代码:
<br/><p><?php echo SIMleague_active ?></p>
<br/><p><?php echo SIMleague_pluginName ?></p>
第一行报错,第二行正常。
有人可以解释这种行为吗?
已添加(完整错误消息):
Warning: Use of undefined constant SIMleague_active - assumed 'SIMleague_active' (this will throw an Error in a future version of PHP) in /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin_Settings.php on line 65 Call Stack: 0.0001 409912 1. {main}() /volume1/web/esportstest/wp-admin/admin.php:0 0.3584 9152128 2. do_action() /volume1/web/esportstest/wp-admin/admin.php:254 0.3585 9152504 3. WP_Hook->do_action() /volume1/web/esportstest/wp-includes/plugin.php:478 0.3585 9152504 4. WP_Hook->apply_filters() /volume1/web/esportstest/wp-includes/class-wp-hook.php:311 0.3585 9153632 5. SIMleague_Admin::my_plugin_options() /volume1/web/esportstest/wp-includes/class-wp-hook.php:287 0.3586 9153632 6. SIMleague_Admin::renderBasePage() /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin.php:27 0.3586 9153696 7. SIMleague_Admin_Settings::renderSettings() /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin.php:59 SIMleague_active
两个常量在 SIMleague.php 中定义并在 SIMleague_Admin_Settings 中使用(SIMleague_Admin_Settings 扩展 SIMleague_Admin class)
刚发现问题。将文件上传到测试服务器时,我将所有 classes 与新文件一起上传,除了基础 class,SIMleague.php 此文件在文件夹层次结构中处于上一级并且是未被更新的文件替换。
一旦我想通了,一切都按计划进行了....
@Alberto,感谢您的回答!
我正在为 Wordpress 构建一个插件,需要定义常量。我在我的插件基础文件中创建了一些常量,它们工作得很好。例如:
if(!defined('SIMleague_pluginName')){
define('SIMleague_pluginName', 'SIM League');
}
现在我正在尝试添加更多常量:
if(!defined('SIMleague_active')){
define('SIMleague_active', 'activated');
}
对于我定义的每个常量,我总是收到这些错误:
Warning: Use of undefined constant ....
我是不是漏了什么?我试图添加多个常量。甚至复制了第一个并更改了常量名称和值以确保我没有输入错误。但仍然没有运气......
我使用的调试代码:
<br/><p><?php echo SIMleague_active ?></p>
<br/><p><?php echo SIMleague_pluginName ?></p>
第一行报错,第二行正常。
有人可以解释这种行为吗?
已添加(完整错误消息):
Warning: Use of undefined constant SIMleague_active - assumed 'SIMleague_active' (this will throw an Error in a future version of PHP) in /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin_Settings.php on line 65 Call Stack: 0.0001 409912 1. {main}() /volume1/web/esportstest/wp-admin/admin.php:0 0.3584 9152128 2. do_action() /volume1/web/esportstest/wp-admin/admin.php:254 0.3585 9152504 3. WP_Hook->do_action() /volume1/web/esportstest/wp-includes/plugin.php:478 0.3585 9152504 4. WP_Hook->apply_filters() /volume1/web/esportstest/wp-includes/class-wp-hook.php:311 0.3585 9153632 5. SIMleague_Admin::my_plugin_options() /volume1/web/esportstest/wp-includes/class-wp-hook.php:287 0.3586 9153632 6. SIMleague_Admin::renderBasePage() /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin.php:27 0.3586 9153696 7. SIMleague_Admin_Settings::renderSettings() /volume1/web/esportstest/wp-content/plugins/SIMleague/classes/SIMleague_Admin.php:59 SIMleague_active
两个常量在 SIMleague.php 中定义并在 SIMleague_Admin_Settings 中使用(SIMleague_Admin_Settings 扩展 SIMleague_Admin class)
刚发现问题。将文件上传到测试服务器时,我将所有 classes 与新文件一起上传,除了基础 class,SIMleague.php 此文件在文件夹层次结构中处于上一级并且是未被更新的文件替换。
一旦我想通了,一切都按计划进行了....
@Alberto,感谢您的回答!