creativform / wp-nonce-function
为 WP Nonce 提供面向对象的功能
dev-master
2017-03-08 11:56 UTC
Requires
- php: >=5.6.4
This package is not auto-updated.
Last update: 2020-01-10 16:24:28 UTC
README
WP Nonce Function 通过面向对象(OOP)的方式处理 WordPress wp_nonce_*() 函数。
目录
要求
- PHP >= 5.6.4
- WordPress >= 4.6
安装
您可以通过命令行或将其粘贴到插件目录的根目录来安装此类。
通过命令行
使用 Composer,将自定义 Nonce 类添加到您插件的依赖项中。
composer require creativform/wp_nonce_function:dev-master
其他方法
- 下载此存储库的最新 zip 文件。
- 解压缩 master.zip 文件。
- 将其复制并粘贴到您插件目录的根目录中。
- 继续您的项目。
使用
设置所需的最小内容
<?php // Autoload files using Composer autoload require_once __DIR__ . '/../vendor/autoload.php'; // use class use Nonce\WP_Nonce; // Instantiate the class $nonce = new WP_Nonce();
选项和全局设置
所有对象的基全局设置是 nonce_name
和 nonce_action
。您可以一次性定义它,并在本次会话的其他渲染中不使用它。
$nonce->option([ 'nonce_name' => '_wpnonce', 'nonce_action' => 'edit-post_'.$post->ID, ]);
如果您需要,您还可以设置会话时间过期
$nonce->option( 'nonce_life',(4 * HOUR_IN_SECONDS) );
如您所见,您可以通过传递设置数组或使用上面的单个设置一样的方式使用它。
示例
将 nonce 添加到 URL
$url="/../wp-admin/post.php?post=48"; $complete_url = $nonce->url( $url );
将 nonce 添加到表单
$nonce->field();
创建 nonce
$newnonce = $nonce->create();
注意:使用 $nonce->create();
在其他对象内部传递值时,您不需要使用字符串来传递值,但可选的函数返回值。
验证 nonce
$nonce->wp_verify();
验证 AJAX 请求中传递的 nonce
$nonce->ajax_verify( 'post-comment' );
验证管理员区域中传递的 nonce
$nonce->admin_verify( $_REQUEST['my_nonce'] );
销毁和完成
当您完成时,只需关闭此会话并销毁所有设置即可。
$nonce->clean();