首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在选项-init.php中调用wp_create_nonce时发生致命错误

在选项-init.php中调用wp_create_nonce时发生致命错误
EN

Stack Overflow用户
提问于 2018-09-05 17:37:41
回答 4查看 1.8K关注 0票数 0

我正在开发一个wordpress插件使用wordpress样板模板。此外,我正在使用Redux框架作为一个选项框架。我在主包含文件的load_dependencies()函数中加载了选项-init.php。

一切都很好。但是,在options-init.php中调用wp_create_nonce时,我得到一个致命错误:未定义错误:调用未定义函数wp_create_nonce()

为什么是这样,如何解决?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-06 05:48:29

我自己找到了解决方案,但不确定它是否正确/最佳实践。

我将redux框架的包含移动到一个独立的类中,我通过‘plugins_loaded’上的动作钩子调用这个类。

//init_redux_framework $this->loader->add_action(‘plugins_loader’,$plugin_admin_redux,'init_redux_framework‘);

在方法init_redux_framework()中,我只向admin-init.php提交了一次需求。

有趣的是,把它添加到'init‘而不是'plugins_loaded’上已经太晚了,所以不能初始化Redux。

票数 0
EN

Stack Overflow用户

发布于 2018-10-10 13:46:29

wp_create_nonce()是在加载插件之后加载的可插入函数。在调用pluggable.php文件之前:

代码语言:javascript
复制
require_once( ABSPATH . 'wp-includes/pluggable.php' );

谢谢。

票数 1
EN

Stack Overflow用户

发布于 2018-09-06 08:54:40

为什么在插件中需要wp_create_nonce()

Nonce通常包含在隐藏的HTML表单字段中,或者作为URL的一部分,因此通过提交表单字段或访问链接来发送请求:

代码语言:javascript
复制
<?php
// Create an nonce for a link.
// We pass it as a GET parameter.
// The target page will perform some action based on the 'do_something' parameter.
$nonce = wp_create_nonce( 'my-nonce' );
?>
<a href='myplugin.php?do_something=some_action&_wpnonce=<?php echo $nonce; ?>'>Do some action</a>

在插件文件中,您可以验证nounce:

代码语言:javascript
复制
wp_verify_nonce( $nonce, 'my-nonce' );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52190690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档