Title: Voce Group Keys
Author: banderon
Published: <strong>January 6, 2015</strong>
Last modified: February 3, 2015

---

Search plugins

This plugin **hasn’t been tested with the latest 3 major releases of WordPress**.
It may no longer be maintained or supported and may have compatibility issues when
used with more recent versions of WordPress.

![](https://s.w.org/plugins/geopattern-icon/voce-group-keys.svg)

# Voce Group Keys

 By [banderon](https://profiles.wordpress.org/banderon/)

[Download](https://downloads.wordpress.org/plugin/voce-group-keys.1.0.1.zip)

 * [Details](https://wordpress.org/plugins/voce-group-keys/#description)
 * [Reviews](https://wordpress.org/plugins/voce-group-keys/#reviews)
 *  [Installation](https://wordpress.org/plugins/voce-group-keys/#installation)
 * [Development](https://wordpress.org/plugins/voce-group-keys/#developers)

 [Support](https://wordpress.org/support/plugin/voce-group-keys/)

## Description

Gives functions to use to generate strings to use as keys for caching. Keys are 
generated based on a passed in name and
 zero or more groups. Providing the same
name and groups will return the same key until the entire cache is cleared or the
cache for a specific group name is cleared.

### Usage

$key: STRING
 $groups: STRING|ARRAY

    ```
    <?php
    if ( class_exists( 'Voce_Group_Keys' ) ) {

        // Get a key for $key that is in the $groups group(s)
        voce_get_cache_key( $key, $groups );

        // Clear the keys for $groups
        // If multiple groups are specified, keys in any of the specified groups will be cleared
        voce_clear_group_cache( $groups );

        // Clear all keys
        voce_clear_all_group_cache();
    }
    ```

#### Example 1

    ```
    <?php
    if ( class_exists( 'Voce_Group_Keys' ) ) {

        // Get a key without a group
        echo voce_get_cache_key( 'data' );  // data_4942b011eb

        // Get keys in a single group
        echo voce_get_cache_key( 'data', 'people' );  // data_9915443f5c
        echo voce_get_cache_key( 'more-data', 'people' );  // more-data_9915443f5c

        // The same key will be returned
        echo voce_get_cache_key( 'data', 'people' );  // data_9915443f5c

        // Clear keys in the 'people' group
        voce_clear_group_cache( 'people' );

        // After clearing keys, a new key is returned for keys using that group
        echo voce_get_cache_key( 'data', 'people' );  // data_77j18e728
        echo voce_get_cache_key( 'data' );  // data_4942b011eb

    }
    ```

#### Example 2

    ```
    <?php
    if ( class_exists( 'Voce_Group_Keys' ) ) {

        // Set transients using multiple groups
        echo voce_get_cache_key( 'user-data', 'users' );  // user-data_9915443f5c
        echo voce_get_cache_key( 'post-data', 'posts' );  // post-data_85fb002156
        echo voce_get_cache_key( 'user-post-data', array( 'posts', 'users' ) );  // user-post-data_4aee2c2c89

        // Clear any keys using the 'posts' group
        voce_clear_group_cache( 'posts' );

        // New keys returned for anything in the 'posts' group
        echo voce_get_cache_key( 'user-data', 'users' );  // user-data_9915443f5c
        echo voce_get_cache_key( 'post-data', 'posts' );  // post-data_820dd0dfb0
        echo voce_get_cache_key( 'user-post-data', array( 'posts', 'users' ) );  // user-post-data_b7ac93f802

        // The order of groups is irrelevant
        echo voce_get_cache_key( 'user-post-data', array( 'users', 'posts' ) );  // user-post-data_b7ac93f802

        // Clear any keys in either the 'users' or 'posts' groups
        voce_clear_group_cache( array( 'users', 'posts' ) );

        // Clear all keys
        voce_clear_all_group_cache();
    }
    ```

## Installation

 1. Upload `voce-group-keys.php` to the `/wp-content/plugins/` directory
 2. Activate the plugin through the ‘Plugins’ menu in WordPress
 3. Use the plugin’s functions where necessary in your code, making sure to check if
    the plugin is enabled

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Voce Group Keys” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ banderon ](https://profiles.wordpress.org/banderon/)

[Translate “Voce Group Keys” into your language.](https://translate.wordpress.org/projects/wp-plugins/voce-group-keys)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/voce-group-keys/), 
check out the [SVN repository](https://plugins.svn.wordpress.org/voce-group-keys/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/voce-group-keys/)
by [RSS](https://plugins.trac.wordpress.org/log/voce-group-keys/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.1

*Bug fix: added slight delay when saving new keys to avoid collisions

#### 1.0.0

 * Initial release

## Meta

 *  Version **1.0.1**
 *  Last updated **12 years ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 2.8 or higher **
 *  Tested up to **4.0.38**
 * Tags
 * [cache](https://wordpress.org/plugins/tags/cache/)[group](https://wordpress.org/plugins/tags/group/)
   [keys](https://wordpress.org/plugins/tags/keys/)
 *  [Advanced View](https://wordpress.org/plugins/voce-group-keys/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/voce-group-keys/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/voce-group-keys/reviews/)

## Contributors

 *   [ banderon ](https://profiles.wordpress.org/banderon/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/voce-group-keys/)