add wp-rocket

This commit is contained in:
nguyen dung
2022-02-18 19:09:35 +07:00
parent 39b8cb3612
commit 3110d00ee7
927 changed files with 271703 additions and 2 deletions

View File

@@ -0,0 +1,49 @@
<?php
namespace WP_Rocket\Subscriber\Optimization;
use WP_Rocket\Buffer\Optimization;
use WP_Rocket\Event_Management\Subscriber_Interface;
/**
* Event subscriber to buffer and process a page content.
*
* @since 3.3
* @author Grégory Viguier
*/
class Buffer_Subscriber implements Subscriber_Interface {
/**
* Optimization instance
*
* @var Optimization
*/
private $optimizer;
/**
* Constructor
*
* @param Optimization $optimizer Optimization instance.
*/
public function __construct( Optimization $optimizer ) {
$this->optimizer = $optimizer;
}
/**
* {@inheritdoc}
*/
public static function get_subscribed_events() {
return [
'template_redirect' => [ 'start_content_process', 2 ],
];
}
/**
* Start buffering the page content and apply optimizations if we can.
*
* @since 3.3
* @access public
* @author Grégory Viguier
*/
public function start_content_process() {
return $this->optimizer->maybe_init_process();
}
}

View File

@@ -0,0 +1,85 @@
<?php
namespace WP_Rocket\Subscriber\Optimization;
use WP_Rocket\Event_Management\Subscriber_Interface;
use WP_Rocket\Admin\Options_Data as Options;
use WP_Scripts;
/**
* Dequeue jQuery Migrate
*
* @since 3.5
* @author Soponar Cristina
*/
class Dequeue_JQuery_Migrate_Subscriber implements Subscriber_Interface {
/**
* Plugin options
*
* @since 3.5
* @author Soponar Cristina
*
* @var Options
*/
private $options;
/**
* Constructor
*
* @since 3.5
* @author Soponar Cristina
*
* @param Options $options Plugin options.
*/
public function __construct( Options $options ) {
$this->options = $options;
}
/**
* {@inheritdoc}
*/
public static function get_subscribed_events() {
return [
'wp_default_scripts' => [ 'dequeue_jquery_migrate' ],
];
}
/**
* Dequeue jquery migrate
*
* @since 3.5
* @author Soponar Cristina
*
* @param WP_Scripts $scripts WP_Scripts instance.
* @return bool|void
*/
public function dequeue_jquery_migrate( $scripts ) {
if ( ! $this->is_allowed() ) {
return false;
}
if ( ! empty( $scripts->registered['jquery'] ) ) {
$jquery_dependencies = $scripts->registered['jquery']->deps;
$scripts->registered['jquery']->deps = array_diff( $jquery_dependencies, [ 'jquery-migrate' ] );
}
}
/**
* Check if dequeue jquery migrate option is enabled
*
* @since 3.5
* @author Soponar Cristina
*
* @return boolean
*/
protected function is_allowed() {
if ( rocket_get_constant( 'DONOTROCKETOPTIMIZE', false ) ) {
return false;
}
if ( ! $this->options->get( 'dequeue_jquery_migrate' ) ) {
return false;
}
return true;
}
}