| @@ -108,13 +108,20 @@ | ||
| 108 | 108 | $matrix = apply_filters( 'xspeed_conflict_matrix', self::matrix() ); |
| 109 | 109 | $out = array(); |
| 110 | 110 | foreach ( $matrix as $plugin => $spec ) { |
| 111 | 111 | if ( is_plugin_active( $plugin ) ) { |
| 112 | + $strategy = (array) $spec['strategy']; | |
| 113 | + // Its page cache is switched off in its own settings, so | |
| 114 | + // it does not compete with ours. Its other features keep | |
| 115 | + // their strategy: each has its own switch. (#653) | |
| 116 | + if ( false === Cache_Plugin_Catalog::page_cache_state( (string) $plugin ) ) { | |
| 117 | + unset( $strategy['cache.page'] ); | |
| 118 | + } | |
| 112 | 119 | $out[] = array( |
| 113 | 120 | 'plugin' => $plugin, |
| 114 | 121 | 'label' => $spec['label'], |
| 115 | 122 | 'kind' => $spec['kind'], |
| 116 | - 'strategy' => $spec['strategy'], | |
| 123 | + 'strategy' => $strategy, | |
| 117 | 124 | ); |
| 118 | 125 | } |
| 119 | 126 | } |
| 120 | 127 | self::$cache = $out; |