HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/local/wp/vendor/wp-cli/doctor-command/src/Check/Cache_Flush.php
<?php

namespace WP_CLI\Doctor\Check;

use FilesystemIterator;
use WP_CLI;
use WP_CLI\Doctor\Check;
use RecursiveDirectoryIterator;
use RecursiveIteratorIterator;

/**
 * Detects and reports the path of files for occurrences of the `wp_cache_flush()` function.
 */
class Cache_Flush extends File_Contents {

	public function run() {

		// Path to wp-content directory.
		$wp_content_dir = defined( 'WP_CONTENT_DIR' ) ? WP_CONTENT_DIR : ABSPATH . 'wp-content';
		$directory      = new RecursiveDirectoryIterator( $wp_content_dir, FilesystemIterator::SKIP_DOTS );
		$iterator       = new RecursiveIteratorIterator( $directory, RecursiveIteratorIterator::CHILD_FIRST );

		// Regex to match.
		$this->regex = 'wp_cache_flush\(\)';

		foreach ( $iterator as $file ) {
			$this->check_file( $file );
		}

		if ( empty( $this->_matches ) ) {
			$this->set_status( 'success' );
			$this->set_message( 'Use of wp_cache_flush() not found.' );
			return;
		}

		// Show relative paths in output.
		$relative_paths = array_map(
			function ( $file ) use ( $wp_content_dir ) {
				return str_replace( $wp_content_dir . '/', '', $file );
			},
			$this->_matches
		);

		$this->set_status( 'warning' );
		$this->set_message( 'Use of wp_cache_flush() detected in ' . implode( ', ', $relative_paths ) );
	}
}