keys[] = is_array( $variable ) ? (string) ( $variable['variable_key'] ?? '' ) : ''; } public function rules_changed( $variable_id ) { $this->keys[] = 'variable:' . absint( $variable_id ); } /** * Whether a purge is waiting for the end of the request. * * @return bool */ public function pending() { return (bool) $this->keys; } public function flush() { if ( ! $this->keys ) { return; } $keys = array_values( array_unique( array_filter( $this->keys ) ) ); $this->keys = array(); PageCachePurger::purge( 'content_changed', array( 'changed' => $keys ) ); } }