PodsAPI::cache_flush_pods PHP Method

cache_flush_pods() public method

Clear Pod-related cache
Since: 2.0
public cache_flush_pods ( array $pod = null ) : void
$pod array
return void
    public function cache_flush_pods($pod = null)
    {
        /**
         * @var $wpdb wpdb
         */
        global $wpdb;
        pods_transient_clear('pods');
        pods_transient_clear('pods_components');
        if (null !== $pod && is_array($pod)) {
            pods_transient_clear('pods_pod_' . $pod['name']);
            pods_cache_clear($pod['name'], 'pods-class');
            foreach ($pod['fields'] as $field) {
                pods_transient_clear('pods_field_' . $pod['name'] . '_' . $field['name']);
            }
            if (in_array($pod['type'], array('post_type', 'taxonomy'))) {
                pods_transient_clear('pods_wp_cpt_ct');
            }
        } else {
            pods_transient_clear('pods_wp_cpt_ct');
        }
        $wpdb->query("DELETE FROM `{$wpdb->options}` WHERE `option_name` LIKE '_transient_pods%'");
        $wpdb->query("DELETE FROM `{$wpdb->options}` WHERE `option_name` LIKE '_transient_timeout_pods%'");
        pods_cache_clear(true);
        pods_transient_set('pods_flush_rewrites', 1);
    }