1. Go to this page and download the library: Download nbwphooks/wphooks library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
nbwphooks / wphooks example snippets
Class ExampleAJAX extends WP_AJAX
{
protected $action = 'example';
protected function run(){
echo "Sucess!";
}
}
ExampleAJAX::listen();
// http://example.com/wp-admin/admin-ajax.php?action=example
Class Example extends WP_AJAX
{
protected $action = 'example';
protected function run(){
echo "Success!";
}
}
ExampleAJAX::listen();
ExampleAJAX::listen(FALSE);
Class ExampleAJAX extends WP_AJAX{
..
protected function run(){
$post5 = get_post(5);
$this->JSONResponse($post5);
}
}
Example::url() // Returns the url of the ajax endpoint. Example http://ajax.local/wp/wp-admin/admin-ajax.php?action=example
$this->isLoggedIn(); // Returns TRUE or FALSE if the current visitor is a logged in user.
$this->has($key); // has() will return TRUE or FALSE if an element exists in the $_REQUEST array with a key of $key
$this->get($key, [ $default = NULL ]); // The get() method will return the specified HTTP request variable. If the variable does not exist it will return NULL by default. If you would like to set a custom string as the default, provide it as the second argument.
$this->requestType(); // Returns 'PUT', 'POST', 'GET', 'DELETE' depending on HTTP request type
$this->requestType('POST'); // Returns (bool)
$this->requestType(['POST', 'PUT']); // Returns (bool)
Class CreatePost extends WP_AJAX
{
protected $action = 'create_post';
protected function run(){
if($this->isLoggedIn()){
$post = [
'post_status' => 'publish'
];
if( $this->requestType(['POST', 'put']) ){
$post['post_content'] = 'This request was either POST or PUT';
}else if( $this->requestType('get') ){
$post['post_content'] = 'This request was GET';
}
$post['post_title'] = sprintf('This post was created by %s', $this->user->data->user_nicename);
wp_insert_post($post);
$this->JSONResponse($post);
}
}
}
CreatePost::listen();
// http://example.com/wp-admin/admin-ajax.php?action=create_post
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.