Jinx Fast-Cache Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
Jinx Fast-Cache provides a very simple but efficient way of full page caching to WordPress.
It will generate static HTML files which will be called using your apaches rewrite rules.
This feature will bypass the whole PHP process and render only a simple HTML file without the whole overhead.
Also there is no real admin panel, but you may use some filters to change the behavior.
Usage
After activating the plugin, it will modify your htaccess file. If this is not possible, make sure the enter the rules by yourself:
# BEGIN Jinx Fast-Cache
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/wp-content/jinx-fast-cache/%{HTTP_HOST}/%{REQUEST_URI}/%{QUERY_STRING}/index.html -s
RewriteCond %{REQUEST_METHOD} GET
RewriteRule .* /wp-content/jinx-fast-cache/%{HTTP_HOST}/%{REQUEST_URI}/%{QUERY_STRING}/index.html [L]
# END Jinx Fast-Cache
When using nginx, make sure to add the following rules:
set $cache_path false;
if ($request_method = GET) {
set $cache_path /wp-content/jinx-fast-cache/$host/$uri/$args/index.html;
}
location / {
try_files $cache_path $uri $uri/ /index.php?$query_string;
}
You may flush, warm or refresh (flush & warm) single or multiple URLs using the buttons in the admin bar.
By default all posts will be automatically be warmed after they have been saved and flushed after they have been deleted or put on draft.
The warm process will create a queue which will be handled in a scheduled task (cron). When warming up a single post, it will skip the queue.
Developers
Filters
Jinx Fast-Cache is made for developers. So far no admin panel is available, but you may modify a lot of it’s behaviors using filters.
- jinx_fast_cache: Return true (default) or false to control, if a URL should be cache or not.
- jinx_fast_cache_post_types: Control the post types which should be cached. By default all post types which are “publicly_queryable” and “page” will be cached.
- jinx_fast_cache_posts: Filter the posts which should be cached.
- jinx_fast_cache_taxonomies: Control the taxonomies which should be cached. By default all taxonomies which are “publicly_queryable” will be cached.
- jinx_fast_cache_terms: Filter the terms which should be cached.
- jinx_fast_cache_output: Use this to modify the HTML content written to your cache file.
- jinx_fast_cache_minify: Return true (default) or false if you want the output to be minified.
- jinx_fast_cache_flush: Control which URLs should be flushed. This may be used to flush related URLs eg. your front page.
- jinx_fast_cache_warm: Control which URLs should be warmed. This may be used to warm related URLs eg. your front page.
- jinx_fast_cache_interval: Change the interval of the cron task (default 60).
- jinx_fast_cache_queue_size: Change the number of URLs which should be handled durring a cron task (default 10). When setting it to <= 0, all URLs will be handled. This may cause a huge load when you have a lot of URLs.
Injections
Jinx Fast-Cache also provides the feature to inject dynamic content parts. If you eg. want to print the users name on the page, you may inject it via ajax.
Note that the first parameter is the placeholder content. This will prevent any problems when calling the action without the plugin beeing active. You may use it load the template normally or print a note like “loading …”.
Inject a template:
do_action('jinx_fast_cache_inject_template', null, 'user');
This has the same result as:
do_action('jinx_fast_cache_inject', null, 'get_template_part', ['user']);
You may call every public function of PHP, your theme or plugin:
do_action('jinx_fast_cache_inject', null, 'date', ['Y']);
do_action('jinx_fast_cache_inject', null, 'my_function', ['param1', 'param2']);
do_action('jinx_fast_cache_inject', null, 'namespaceMyClass::myMethod', ['param1', 'param2']);
do_action('jinx_fast_cache_inject', null, ['namespaceMyClass', 'myMethod'], ['param1', 'param2']);<h3>Roadmap</h3>
* [x] Release it
* [x] Add HTML minification for output
* [x] Allow injection of dynamic rendered templates using ajax requests
* [x] Add taxonomies
* [x] Provide scheduled tasks
* [x] Add admin columns for cache status
* [ ] Provide exclude option for posts and terms in backend
* [x] Add multisite support
* [ ] Provide cache timeout
* [ ] Provide admin panel to change options
Screenshots
No screenshots provided