media-store-net/wp-oop-nonces

在OOP环境下简单处理插件或主题中的nonces的方法

dev-master 2019-12-04 21:55 UTC

This package is auto-updated.

Last update: 2024-09-05 08:38:37 UTC


README

描述

开发WordPress插件和主题时,有时您需要将自定义项目设置存储在wp_options表中。这个工具可以更轻松地处理OOP环境中的wp_nonce_*函数。

安装

最简单的安装方法是使用composer,

composer require media-store-net/wp-oop-nonces

或者使用以下命令克隆此仓库

git clone https://github.com/media-store-net/wpnonces.git

使用方法

通常,您可以直接使用此类而无需进一步调整。

例如,我创建了一个插件,其中我将使用此包来处理nonce。

步骤1: require the autoload.php 以使其在您的插件/主题中可用 | 可以通过使用composer发布

  • 下载仓库并将其存储在插件中的vendor文件夹
require_once WP_PLUGIN_DIR . '/' . plugin_basename( __DIR__ ) . '/vendor/WpNonces/vendor/autoload.php';

步骤2: 在设置或选项页面上加载一个实例

$wp_nonces = \MediaStoreNet\WpNonces\WpNonces::getInstance();
此静态方法允许您始终使用类实例
在所有设置/选项文件中。

步骤3: 创建一个表单 在我的情况下,我在一个单独的函数中这样做,并在设置/选项页面上调用这些函数

<?php function my_form( $wp_nonces ) { ob_start(); ?>

<form method="get" action="options.php">
    <label for="testinput">Input</label>
    <input type="text" id="testinput" name="testinput"/>
	<?php $wp_nonces->getNonceField(); ?>
	<?php submit_button( 'speichern' ); ?>
</form>

<?php return ob_get_clean(); ?>

步骤4: 验证

要验证,您有几种选择

调用 $wp_nonce->verify('nonceString')

if ( $wp_nonces->verifyNonce($_REQUEST['_wpnonce']) ): //存储选项...; endif;

调用 $wp_nonce->verifyAdmin()

if ( $wp_nonces->verifyAdmin() ): //存储选项...; endif;

调用 $wp_nonce->verifyAjax() 以验证Ajax请求

if ( $wp_nonces->verifyAjax() ): //存储ajax请求选项...; endif;

默认情况下,使用fieldName的nonce "_wpnonce",如WordPress中使用。操作字符串是"wp-oop-nonce"。

对于更安全和自定义的nonce,您还可以修改fieldName和Action字符串。

$wp_nonces->setFieldName('my-custom-name'); $wp_nonces->setAction('my-custom-action');

当需要时,您还可以使用多个实例,如下所示

$nonces1 = new MediaStoreNet\WpNonces\WpNonces(); $nonces1->setFieldName('name1'); $nonces1->setAction('action1');

$nonces2 = new MediaStoreNet\WpNonces\WpNonces(); $nonces2->setFieldName('name2'); $nonces2->setAction('action2');

请访问我们的API文档站点,以查看所有可用属性和方法。

最低要求/依赖关系

  • PHP ^7.0
  • WordPress最新版本-2

开发时安装,通过Composer要求

  • phpunit/phpunit (BSD-3-Clause)
  • brain/monkey (MIT)
  • inpsyde/php-coding-standards

文档

请访问我们的文档站点 API文档站点

变更日志

变更日志链接

许可证和版权

GPLv2+许可证

版权所有 © 2019 Media-Store.net