我开发了一个 WordPress 插件,它在我的本地和其他一些服务器上运行良好。但是很少有客户抱怨我的插件拖慢了他们的网站。有人可以帮我解决这个问题吗?
此代码会降低网站速度吗?
class MyPlugin_WC {
protected $auth;
protected $admin_settings;
protected $frontend_actions;
protected $backend_actions;
protected $cron_actions;
public function __construct() {
$this->load_dependencies();
$this->define_backend_hooks();
$this->define_frontend_hooks();
}
/**
* Load all required dependencies
*
* @return void
*/
public function load_dependencies() {
require_once ABSPATH . 'wp-admin/includes/file.php';
require_once plugin_dir_path( __DIR__ ) . 'config/constants.php';
require_once plugin_dir_path( __DIR__ ) . 'classes/class-my-plugin-wc-helpers.php';
require_once plugin_dir_path( __DIR__ ) . 'classes/class-my-plugin-wc-logger.php';
require_once plugin_dir_path( __DIR__ ) . 'classes/class-my-plugin-wc-api.php';
require_once plugin_dir_path( __DIR__ ) . 'config/class-my-plugin-wc-auth.php';
require_once plugin_dir_path( __DIR__ ) . 'config/class-my-plugin-wc-admin-settings.php';
require_once plugin_dir_path( __DIR__ ) . 'actions/class-my-plugin-wc-frontend-actions.php';
require_once plugin_dir_path( __DIR__ ) . 'actions/class-my-plugin-wc-backend-actions.php';
require_once plugin_dir_path( __DIR__ ) . 'actions/class-my-plugin-wc-ajax-actions.php';
require_once plugin_dir_path( __DIR__ ) . 'actions/class-my-plugin-wc-cron-actions.php';
$this->auth = new MyPlugin_WC_Auth();
$this->admin_settings = new MyPlugin_WC_Admin_Settings();
$this->frontend_actions = new MyPlugin_WC_Frontend_Actions();
$this->backend_actions = new MyPlugin_WC_Backend_Actions();
$this->cron_actions = new MyPlugin_WC_Cron_Actions();
}
/**
* Define backend hooks
*
* @return void
*/
public function define_backend_hooks() {
add_action( 'my_plugin_wc_sync_custom_fields_cron_hook', array( $this->cron_actions, 'my_plugin_wc_sync_custom_fields_cron' ), 10, 0 );
add_action( 'admin_menu', array( $this->admin_settings, 'my_plugin_wc_submenu' ) );
add_action( 'admin_init', array( $this->admin_settings, 'my_plugin_wc_register_settings' ) );
add_action( 'admin_enqueue_scripts', array( $this, 'my_plugin_wc_backend_enqueue_scripts' ) );
add_filter( 'cron_schedules', array( $this, 'my_plugin_wc_cron_update_schedules' ) )
}
.....
}
new MyPlugin_WC();