Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Nonce

Simple class based WP Nonce solution

alt text Open Source Love

codecov

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