| 开发者 | mustafatahhan |
|---|---|
| 更新时间 | 2026年6月16日 22:19 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPL-2.0-or-later |
| 版权网址: | 版权信息 |
debug.log and the server PHP error log automatically. Each entry is attributed to the plugin that owns the file where the error occurred. Filter by Fatal / Warning / Notice / Deprecated.
Change History
Full audit trail of every plugin activation, deactivation, update, and deletion — with exact timestamps and version diffs (e.g. 8.3.0 → 8.4.0).
Health Scan
On-demand scan that detects:
max_execution_time misconfigurationstahhan-conflict-detective folder to the /wp-content/plugins/ directory.No. All analysis runs on demand inside the WordPress admin. There is zero front-end overhead.
wp-content/debug.log and the server PHP error_log path returned by ini_get('error_log').
No. Optionally, enable WP_DEBUG and WP_DEBUG_LOG in wp-config.php to populate the error log.
Never. Safe Testing Mode uses a session cookie that is only present for your admin session. Visitors always see the live site.
The plugin detects missing database tables on every request and recreates them automatically — no activation hook required.
The plugin monitors the current site only. It is not a network-wide tool in this version.
Performance Monitor hooks into WordPress's plugin_loaded action, which fires once for every plugin that loads. It records a snapshot of the PHP execution time, memory usage, and database query count immediately before and after each plugin loads, then computes the delta. The results are stored in a 5-minute transient and can be refreshed on demand. Because measurements happen at request time, values vary between requests — treat them as estimates rather than precise benchmarks.
No. Only requests that take longer than 500 ms are written to the database. The log is automatically trimmed to the most recent 500 entries.
Yes. Go to Conflict Detective → Cron Monitor and click the "Run Now" button next to any event. The plugin validates the hook name against the live WP-Cron schedule before execution so arbitrary code cannot be triggered via this interface.
The Interaction Map groups your installed plugins into known ecosystem clusters (WooCommerce, Elementor, Yoast SEO, Jetpack, ACF, Gravity Forms, Contact Form 7, WPML, LearnDash, Divi, WP Rocket, and more). Plugins within the same ecosystem are more likely to interact and potentially conflict with each other. The map also reads the Requires Plugins header introduced in WordPress 6.5 to show explicit declared dependencies.
$_SERVER directly (was using non-standard $GLOBALS['_SERVER']).get_entries() now selects only required columns instead of SELECT *.{prefix}cd_ajax_log table (schema version 3).tahcd_prev_version_* options (was using the stale pcd_prev_version_ prefix, leaving orphaned rows in wp_options).conflict-detective/conflict-detective.php).tahcd_ / TAHCD_ to satisfy WordPress.org uniqueness requirements (constants, AJAX actions, nonce, user meta, cookie, option keys, script handle, JS data object).tahhan-conflict-detective) for WordPress.org compliance. Namespace changed to TahhanConflictDetective. Text domain changed to tahhan-conflict-detective.WP_Filesystem::put_contents() instead of file_put_contents().maybe_filter_active_plugins() called get_option('active_plugins') which re-triggered the same filter, causing a stack overflow. Fixed by reading directly from $wpdb.Safe_Mode::init() and Database::maybe_upgrade() moved to file-load time.