<?php /** * Display for Feed Custom Post Types * * @package GCE * @author Phil Derksen <*****@*****.**>, Nick Young <*****@*****.**> * @license GPL-2.0+ * @copyright 2014 Phil Derksen */ global $post; $post_id = $post->ID; // Clear the cache if the button was clicked to do so if (isset($_GET['clear_cache']) && $_GET['clear_cache'] == 1) { gce_clear_cache($post_id); } // Load up all post meta data $gce_feed_url = get_post_meta($post->ID, 'gce_feed_url', true); $gce_date_format = get_post_meta($post->ID, 'gce_date_format', true); $gce_time_format = get_post_meta($post->ID, 'gce_time_format', true); $gce_cache = get_post_meta($post->ID, 'gce_cache', true); $gce_multi_day_events = get_post_meta($post->ID, 'gce_multi_day_events', true); $gce_display_mode = get_post_meta($post->ID, 'gce_display_mode', true); $gce_search_query = get_post_meta($post->ID, 'gce_search_query', true); $gce_expand_recurring = get_post_meta($post->ID, 'gce_expand_recurring', true); $gce_paging = get_post_meta($post->ID, 'gce_paging', true); $gce_events_per_page = get_post_meta($post->ID, 'gce_events_per_page', true); $gce_per_page_num = get_post_meta($post->ID, 'gce_per_page_num', true); $gce_list_start_offset_num = get_post_meta($post->ID, 'gce_list_start_offset_num', true); $gce_list_start_offset_direction = get_post_meta($post->ID, 'gce_list_start_offset_direction', true); $gce_feed_start = get_post_meta($post->ID, 'gce_feed_start', true);
/** * Function to clear cache if on the post listing page * * @since 2.0.0 */ function gce_clear_cache_link() { if (isset($_REQUEST['clear_cache'])) { $post_id = absint($_REQUEST['clear_cache']); gce_clear_cache($post_id); settings_errors('gce-notices'); } }
/** * Clear cache bulk action. * * @see gce_clear_cache_bulk_action_option() */ function gce_clear_cache_bulk_action() { global $typenow; $post_type = $typenow; if ('gce_feed' == $post_type) { $send_back = remove_query_arg(array('cleared'), wp_get_referer()); if (!$send_back) { $send_back = admin_url('edit.php?post_type=' . $post_type); } // Get the bulk action. $wp_list_table = _get_list_table('WP_Posts_List_Table'); $action = $wp_list_table->current_action(); if ($action == 'clear_cache') { // Security check (the referer is right). check_admin_referer('bulk-posts'); // This is based on wp-admin/edit.php. $send_back = remove_query_arg(array('cleared', 'untrashed', 'deleted', 'ids'), $send_back); // Proceed if there are post ids selected. $post_ids = isset($_REQUEST['post']) ? array_map('intval', $_REQUEST['post']) : ''; if ($post_ids) { // Add page num to query arg. $page_num = $wp_list_table->get_pagenum(); $send_back = add_query_arg('paged', $page_num, $send_back); switch ($action) { case 'clear_cache': $cleared = 0; foreach ($post_ids as $post_id) { gce_clear_cache($post_id); $cleared++; } $send_back = add_query_arg(array('cleared' => $cleared, 'ids' => join(',', $post_ids)), $send_back); break; default: return; break; } $send_back = remove_query_arg(array('action', 'tags_input', 'post_author', 'comment_status', 'ping_status', '_status', 'post', 'bulk_edit', 'post_view'), $send_back); wp_redirect($send_back); exit; } } } }