creativform/wp-nonce-function

为 WP Nonce 提供面向对象的功能

dev-master 2017-03-08 11:56 UTC

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

其他方法

  1. 下载此存储库的最新 zip 文件
  2. 解压缩 master.zip 文件。
  3. 将其复制并粘贴到您插件目录的根目录中。
  4. 继续您的项目。

使用

设置所需的最小内容

<?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_namenonce_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();