media-store-net / wp-oop-nonces
A simple Way to handle nonces in your plugin or theme on a OOP environment
Requires
- php: ^7.0
Requires (Dev)
- brain/monkey: ^2.0
- inpsyde/monkery-test-case: ^5.0
- inpsyde/php-coding-standards: ^0.13
- phpunit/phpunit: ^8.3
This package is auto-updated.
Last update: 2024-11-05 09:08:34 UTC
README
Description
By developing WordPress Plugins and Themes sometimes you need store your own Project-Settings into the wp_options table. This Tool make it easier to handle the wp_nonce_* functions in a OOP-environment.
Installation
Easiest way to install is using composer,
composer require media-store-net/wp-oop-nonces
or clone this Repo with
git clone https://github.com/media-store-net/wpnonces.git
How to use
In general, you can use this class without further adjustment.
As an example I have created a plugin, where i will use this package to handle nonce.
Step 1 : require the autoload.php to make it accessible in your plugin/theme | can be emited by using composer
- download the Repo and store it in vendor folder in your plugin
require_once WP_PLUGIN_DIR . '/' . plugin_basename( __DIR__ ) . '/vendor/WpNonces/vendor/autoload.php';
Step 2 : load an instance in your settings or options page
$wp_nonces = \MediaStoreNet\WpNonces\WpNonces::getInstance();
this static method allows you to use allways the same instance of the class
in all your settings/options files.
Step 3: create a form In my case i do this on a separate function and call these in my settings/options page
<?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(); ?>
Step 4: Validate
to validate you have several options
call $wp_nonce->verify('nonceString')
if ( $wp_nonces->verifyNonce($_REQUEST['_wpnonce']) ): //store options...; endif;
call $wp_nonce->verifyAdmin()
if ( $wp_nonces->verifyAdmin() ): // store options...; endif;
call $wp_nonces->verifyAjax() to validate Ajax Requests
if ( $wp_nonces->verifyAjax() ): //store ajax request options...; endif;
By default is used fieldName of nonce "_wpnonce" like in WordPress use. The action string is "wp-oop-nonce"
For more secure and customized nonce you can modify the fieldName and Action string too
$wp_nonces->setFieldName('my-custom-name'); $wp_nonces->setAction('my-custom-action');
When needed you can also use more then one instance like this
$nonces1 = new MediaStoreNet\WpNonces\WpNonces(); $nonces1->setFieldName('name1'); $nonces1->setAction('action1');
$nonces2 = new MediaStoreNet\WpNonces\WpNonces(); $nonces2->setFieldName('name2'); $nonces2->setAction('action2');
To see all available propertys and methods, please visit our API Documentation Site
Minimum Requirements / Dependencies
- PHP ^7.0
- WordPress latest-2
When installed for development, via Composer requires:
- phpunit/phpunit (BSD-3-Clause)
- brain/monkey (MIT)
- inpsyde/php-coding-standards
Documentation
Please visit our Documentation Site API Documentation Site
CHANGELOG
Licence and Copyright
GPLv2+ Licence
Copyright (c) 2019 Media-Store.net