1 <?php |
1 <?php |
2 /** |
2 /** |
3 * Object Cache API functions missing from 3rd party object caches. |
3 * Object Cache API functions missing from 3rd party object caches. |
4 * |
4 * |
5 * @link https://codex.wordpress.org/Class_Reference/WP_Object_Cache |
5 * @link https://developer.wordpress.org/reference/classes/wp_object_cache/ |
6 * |
6 * |
7 * @package WordPress |
7 * @package WordPress |
8 * @subpackage Cache |
8 * @subpackage Cache |
9 */ |
9 */ |
|
10 |
|
11 if ( ! function_exists( 'wp_cache_add_multiple' ) ) : |
|
12 /** |
|
13 * Adds multiple values to the cache in one call, if the cache keys don't already exist. |
|
14 * |
|
15 * Compat function to mimic wp_cache_add_multiple(). |
|
16 * |
|
17 * @ignore |
|
18 * @since 6.0.0 |
|
19 * |
|
20 * @see wp_cache_add_multiple() |
|
21 * |
|
22 * @param array $data Array of keys and values to be added. |
|
23 * @param string $group Optional. Where the cache contents are grouped. Default empty. |
|
24 * @param int $expire Optional. When to expire the cache contents, in seconds. |
|
25 * Default 0 (no expiration). |
|
26 * @return bool[] Array of return values, grouped by key. Each value is either |
|
27 * true on success, or false if cache key and group already exist. |
|
28 */ |
|
29 function wp_cache_add_multiple( array $data, $group = '', $expire = 0 ) { |
|
30 $values = array(); |
|
31 |
|
32 foreach ( $data as $key => $value ) { |
|
33 $values[ $key ] = wp_cache_add( $key, $value, $group, $expire ); |
|
34 } |
|
35 |
|
36 return $values; |
|
37 } |
|
38 endif; |
|
39 |
|
40 if ( ! function_exists( 'wp_cache_set_multiple' ) ) : |
|
41 /** |
|
42 * Sets multiple values to the cache in one call. |
|
43 * |
|
44 * Differs from wp_cache_add_multiple() in that it will always write data. |
|
45 * |
|
46 * Compat function to mimic wp_cache_set_multiple(). |
|
47 * |
|
48 * @ignore |
|
49 * @since 6.0.0 |
|
50 * |
|
51 * @see wp_cache_set_multiple() |
|
52 * |
|
53 * @param array $data Array of keys and values to be set. |
|
54 * @param string $group Optional. Where the cache contents are grouped. Default empty. |
|
55 * @param int $expire Optional. When to expire the cache contents, in seconds. |
|
56 * Default 0 (no expiration). |
|
57 * @return bool[] Array of return values, grouped by key. Each value is either |
|
58 * true on success, or false on failure. |
|
59 */ |
|
60 function wp_cache_set_multiple( array $data, $group = '', $expire = 0 ) { |
|
61 $values = array(); |
|
62 |
|
63 foreach ( $data as $key => $value ) { |
|
64 $values[ $key ] = wp_cache_set( $key, $value, $group, $expire ); |
|
65 } |
|
66 |
|
67 return $values; |
|
68 } |
|
69 endif; |
10 |
70 |
11 if ( ! function_exists( 'wp_cache_get_multiple' ) ) : |
71 if ( ! function_exists( 'wp_cache_get_multiple' ) ) : |
12 /** |
72 /** |
13 * Retrieves multiple values from the cache in one call. |
73 * Retrieves multiple values from the cache in one call. |
14 * |
74 * |
21 * |
81 * |
22 * @param array $keys Array of keys under which the cache contents are stored. |
82 * @param array $keys Array of keys under which the cache contents are stored. |
23 * @param string $group Optional. Where the cache contents are grouped. Default empty. |
83 * @param string $group Optional. Where the cache contents are grouped. Default empty. |
24 * @param bool $force Optional. Whether to force an update of the local cache |
84 * @param bool $force Optional. Whether to force an update of the local cache |
25 * from the persistent cache. Default false. |
85 * from the persistent cache. Default false. |
26 * @return array Array of values organized into groups. |
86 * @return array Array of return values, grouped by key. Each value is either |
|
87 * the cache contents on success, or false on failure. |
27 */ |
88 */ |
28 function wp_cache_get_multiple( $keys, $group = '', $force = false ) { |
89 function wp_cache_get_multiple( $keys, $group = '', $force = false ) { |
29 $values = array(); |
90 $values = array(); |
30 |
91 |
31 foreach ( $keys as $key ) { |
92 foreach ( $keys as $key ) { |
33 } |
94 } |
34 |
95 |
35 return $values; |
96 return $values; |
36 } |
97 } |
37 endif; |
98 endif; |
|
99 |
|
100 if ( ! function_exists( 'wp_cache_delete_multiple' ) ) : |
|
101 /** |
|
102 * Deletes multiple values from the cache in one call. |
|
103 * |
|
104 * Compat function to mimic wp_cache_delete_multiple(). |
|
105 * |
|
106 * @ignore |
|
107 * @since 6.0.0 |
|
108 * |
|
109 * @see wp_cache_delete_multiple() |
|
110 * |
|
111 * @param array $keys Array of keys under which the cache to deleted. |
|
112 * @param string $group Optional. Where the cache contents are grouped. Default empty. |
|
113 * @return bool[] Array of return values, grouped by key. Each value is either |
|
114 * true on success, or false if the contents were not deleted. |
|
115 */ |
|
116 function wp_cache_delete_multiple( array $keys, $group = '' ) { |
|
117 $values = array(); |
|
118 |
|
119 foreach ( $keys as $key ) { |
|
120 $values[ $key ] = wp_cache_delete( $key, $group ); |
|
121 } |
|
122 |
|
123 return $values; |
|
124 } |
|
125 endif; |
|
126 |
|
127 if ( ! function_exists( 'wp_cache_flush_runtime' ) ) : |
|
128 /** |
|
129 * Removes all cache items from the in-memory runtime cache. |
|
130 * |
|
131 * Compat function to mimic wp_cache_flush_runtime(). |
|
132 * |
|
133 * @ignore |
|
134 * @since 6.0.0 |
|
135 * |
|
136 * @see wp_cache_flush_runtime() |
|
137 * |
|
138 * @return bool True on success, false on failure. |
|
139 */ |
|
140 function wp_cache_flush_runtime() { |
|
141 return wp_using_ext_object_cache() ? false : wp_cache_flush(); |
|
142 } |
|
143 endif; |