Nonce
Simple class based WP Nonce solution
Version
Release 0.1.0
Why?
Allows for use of Nonces in an oop manner, while allowing serialisation/deserialisation of the object.
Setup
$ composer require pinkcrab/wp-nonce
$nonce = new Nonce('my_none_key');
// To get the current nonce token
$nonce->token();
// To validate
$nonce->validate($_POST['nonce']); // true/false
// To add to url
$url = $nonce->as_url('http://www.url.com', 'my_nonce'); // http://www.url.com?my_nonce={nonce_value}
// Validate url.
$nonce->admin_referer('my_nonce'); // true/false if set in url.
Methods
Create Instance
// Create with a custom key
$custom_nonce = new Nonce('custom_key');
Once your nonce has been created, it can be serialised and/or passed around your codebase.
as_url( string $url, string $arg=’_wpnonce’ ): string
$nonce = new Nonce('url_key');
$custom_key_in_url = $nonce->as_url('http://test.com', 'url_nonce');
// http://test.com?url_nonce={nonce_token}
$default_key_in_url = $nonce->as_url('http://test.com');
// http://test.com?_wpnonce={nonce_token}
NOTICE! This doesnt make use of the refer value found in admin nonces.
token(): string
$nonce = new Nonce('url_key');
// To get the current nonce value.
print $nonce->token(); // 31b31db189
$nonce_token = nonce->token(); // 31b31db189
nonce_field($name = ‘_wpnonce’): string
$nonce = new Nonce('as_input');
// Create a nonce field, with a custom id/name for input
print $nonce->nonce_field('my_nonce');
// <input type="hidden" id="my_nonce" name="my_nonce" value="{nonce_token}">
// Create a nonce field, with a custom id/name for input
print $nonce->nonce_field();
// <input type="hidden" id="_wpnonce_" name="_wpnonce_" value="{nonce_token}">
The nonce field is not automcatically printed
validate($name = ‘_wpnonce’): string
$nonce = new Nonce('as_input');
// Create a nonce field, with a custom id/name for input
print $nonce->nonce_field('my_nonce');
// <input type="hidden" id="my_nonce" name="my_nonce" value="{nonce_token}">
// Create a nonce field, with a custom id/name for input
print $nonce->nonce_field();
// <input type="hidden" id="_wpnonce_" name="_wpnonce_" value="{nonce_token}">
The nonce field is not automcatically printed
License
MIT License
http://www.opensource.org/licenses/mit-license.html
Change Log
0.1.0 - Created from part of PC Framework 0.1.0