this is not my null
but if elementor need nulling follow this steps:
The null is in 2 parts - the pro version needs to be nulled to allow access to the pro features and the free version needs to be tweaked to be able to use the pro templates (blocks, pages etc).
Line numbers mentioned here are for the current versions (2.1.10 of Elementor Pro and 2.2.5 of Elementor)
First off, the pro activation null:
In the file
elementor-pro/license/api.php...
Add this as the first line of the function
activate_license (which starts around line 62)
PHP:
return array('success'=>true, 'license'=>'valid', 'item_name'=>'Elementor Pro', 'license_limit'=>999, 'site_count'=>1, 'expires'=>'2048-06-06 23:59:59', 'activations_left'=>998, 'payment_id'=>'12345',
'customer_name'=>'Firstname Lastname', 'customer_email'=>'whatever_you_want@here.com', 'price_id'=>'1');
And add this as the first line of the function
deactivate_license (which starts around line 75)
PHP:
return array('success'=>true, 'license'=>'deactivated', 'item_name'=>'Elementor Pro', 'license_limit'=>999, 'site_count'=>1, 'expires'=>'2048-06-06 23:59:59', 'activations_left'=>998, 'payment_id'=>'12345',
'customer_name'=>'Firstname Lastname', 'customer_email'=>'whatever_you_want@here.com', 'price_id'=>'1');
(Feel free to change any license info sush as name, email, expiration date etc.)
In the function
get_license_data, after this line of code:
PHP:
$license_data = get_transient( 'elementor_pro_license_data' );
add this:
Now you can use any key to activate the pro plugin and can also deactivate the pro plugin with the button.
To be able to use the pro block and page templates, you need to change code in the free version of the plugin:
Here are the template json files
https://mega.nz/#!7xEXQagJ!Y3qNczndBBAsTfqBns6tnvhsu4lLR-8MJ-ZDrspW0Ec
If you only want to use the templates on one site do this:
Upload the json files into the folder wp-content/uploads/elementor_templates (you will need to create this folder)
In the file
elementor/includes/api.php (N.B. this is in the free plugin folder, NOT the pro plugin folder) comment out lines 237-240 like so
And change line 246 from
PHP:
$response_code = (int) wp_remote_retrieve_response_code( $response );
to
In the file
elementor/includes/template-library/sources/remote.php
In the function
get_data which starts at around line 190 add this to the start of the function code:
PHP:
$uploads_dir = wp_upload_dir();
return json_decode(file_get_contents($uploads_dir["baseurl"] . "/elementor_templates/" . $args["template_id"] . ".json"), true);
You will now be able to use any of the pro blocks and pages - instead of getting them from the Elementor server with an api check it is simply grabbing the relevant json file from your wp-content/uploads/elementor_templates folder.
Of course you can change the location of the elementor templates but you will need to change the code accordingly... which brings me onto the method if you want to use the templates on more than one site.
To save having to upload all the templates to a folder very time you want to use elementor pro blocks and pages on a site, you can host them elsewhere and point to them.
For example if you upload them all to
http://mysite.com/elementor_templates instead of this line of code
PHP:
return json_decode(file_get_contents($uploads_dir["baseurl"] . "/elementor_templates/" . $args["template_id"] . ".json"), true);
add this line of code
PHP:
return json_decode(file_get_contents("http://mysite.com/elementor_templates/" . $args["template_id"] . ".json"), true);
and you don't have to upload the json files every time.
All tested and working fine - I've been using this method for a long while on a variety of different sites for a long while and I just tested it again just now so I know it works perfectly.
When new blocks and pages get released, let me know and I'll update the zip of the json files.