Plugin Directory

Changeset 1432377


Ignore:
Timestamp:
06/07/2016 12:39:45 PM (10 years ago)
Author:
ogrosko
Message:

Added Wordpress cron job for daily cache clearing (use define('CLEAR_CACHE_FOR_TIMBER_DISABLE_CRON_JOB_CLEANUP', true); for disable)

Location:
clear-cache-for-timber/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • clear-cache-for-timber/trunk/clear-cache-for-timber.php

    r1420421 r1432377  
    55Description: Clear cache for Timber and Twig caching
    66Author: Ondrej Grosko
    7 Version: 0.0.6
     7Version: 0.1.0
    88Author URI:
    99Network: True
    1010Text Domain: clear-cache-for-timber
    1111*/
     12
     13/**
     14 * Init function
     15 */
     16add_action( 'init', 'clear_cache_for_timber_init' );
     17function clear_cache_for_timber_init() {
     18
     19    if ( !is_super_admin() || !is_admin_bar_showing() || !class_exists('Timber') || !\Timber::$cache ) {
     20          return;
     21    }
     22
     23    //Check if user disable cron task and remove cron task
     24    if (defined('CLEAR_CACHE_FOR_TIMBER_DISABLE_CRON_JOB_CLEANUP')
     25        and CLEAR_CACHE_FOR_TIMBER_DISABLE_CRON_JOB_CLEANUP === true) {
     26        clear_cache_for_timber_remove_cron_task();
     27    }
     28    //If cron is not cheduled add one
     29    else if (wp_get_schedule('clear_cache_for_timber_cron_task') === false){
     30        clear_cache_for_timber_add_cron_task();
     31    }
     32}
    1233
    1334/**
     
    1738function add_timber_clear_cache_admin_button() {
    1839    global $wp_admin_bar;
    19 
    20     if ( !is_super_admin() || !is_admin_bar_showing() || !class_exists('Timber') || !\Timber::$cache ) {
    21           return;
    22     }
    23    
     40   
    2441    $wp_admin_bar->add_menu(array(
    2542        'id' => 'clear-timber-cache',
     
    3855add_action( 'wp_ajax_clear_timber_cache_action', 'clear_timber_cache_callback' );
    3956function clear_timber_cache_callback() {
     57    echo clear_cache_for_timber_clear_cache();
     58    wp_die();
     59}
     60
     61/**
     62 * Timber Clear cache function
     63 */
     64function clear_cache_for_timber_clear_cache() {
    4065    if (class_exists('Timber\\Integrations\\Command')) {
    41         echo \Timber\Integrations\Command::clear_cache();
     66        return \Timber\Integrations\Command::clear_cache();
    4267    }
    4368    else {
    44         echo TimberCommand::clear_cache();
     69        return TimberCommand::clear_cache();
    4570    }
    46     wp_die();
    4771}
    4872
     
    5377add_action( 'admin_bar_init', 'clear_timer_cache_javascript' );
    5478function clear_timer_cache_javascript() {
    55     wp_enqueue_script('clear-cache-for-timber-javascript', plugins_url('assets/js/main.js', __FILE__), array(), '0.0.6', true);
    56     wp_enqueue_style( 'clear-cache-for-timber-style',  plugins_url('assets/css/style.css', __FILE__), array(), '0.0.6' );
     79    wp_enqueue_script('clear-cache-for-timber-javascript', plugins_url('assets/js/main.js', __FILE__), array(), '0.1.0', true);
     80    wp_enqueue_style( 'clear-cache-for-timber-style',  plugins_url('assets/css/style.css', __FILE__), array(), '0.1.0' );
    5781}
     82
     83
     84/**
     85 * Register cron task on plugin activation
     86 */
     87register_activation_hook(__FILE__, 'clear_cache_for_timber_add_cron_task');
     88function clear_cache_for_timber_add_cron_task() {
     89    if (! wp_next_scheduled ( 'clear_cache_for_timber_cron_task' )) {
     90        wp_schedule_event(time(), 'daily', 'clear_cache_for_timber_cron_task');
     91    }
     92}
     93
     94/**
     95 * WP cron task
     96 */
     97add_action( 'clear_cache_for_timber_cron_task', 'clear_cache_for_timber_cron_event' );
     98function clear_cache_for_timber_cron_event() {
     99    clear_cache_for_timber_clear_cache();
     100}
     101
     102/**
     103 * Unregister cron task on plugin deactivation
     104 */
     105register_deactivation_hook(__FILE__, 'clear_cache_for_timber_remove_cron_task');
     106function clear_cache_for_timber_remove_cron_task() {
     107    wp_clear_scheduled_hook('clear_cache_for_timber_cron_task');
     108}
  • clear-cache-for-timber/trunk/composer.json

    r1420421 r1432377  
    44    "keywords": ["wordpress", "timber", "clear cache"],
    55    "license": "GPL-2.0+",
    6     "version": "0.0.6",
     6    "version": "0.1.0",
    77    "authors": [
    88        {
  • clear-cache-for-timber/trunk/readme.md

    r1420421 r1432377  
    3636
    3737
     38### 0.1.0 (7-06-2016)
     39
     40Features:
     41
     42  - Added Wordpress cron job for daily cache clearing (use `define('CLEAR_CACHE_FOR_TIMBER_DISABLE_CRON_JOB_CLEANUP', true);` for disable)
     43
    3844### 0.0.6 (19-05-2016)
    3945
  • clear-cache-for-timber/trunk/readme.txt

    r1420421 r1432377  
    2626== Changelog ==
    2727
     28= 0.1.0 - 7/06/2016 =
     29* Added Wordpress cron job for daily cache clearing (use define('CLEAR_CACHE_FOR_TIMBER_DISABLE_CRON_JOB_CLEANUP', true); for disable)
     30
     31
    2832= 0.0.6 - 19/05/2016 =
    2933* Compatibility fix with Timber v1.0.*
Note: See TracChangeset for help on using the changeset viewer.