Files
mitigation/mitigation.php
2025-08-18 08:43:07 +00:00

115 lines
2.4 KiB
PHP

<?php
/**
* Plugin Name: Mitigation
* Description: A WordPress plugin with a main class for initialization methods.
* Version: 0.0.5
* Author: Your Name
* Text Domain: mitigation
*/
// Prevent direct access
if (!defined('ABSPATH')) {
exit;
}
/**
* Main Mitigation Plugin Class
*/
class Mitigation {
/**
* Plugin version
*/
const VERSION = '0.05';
/**
* Single instance of the class
*/
private static $instance = null;
/**
* Get single instance of the class
*/
public static function get_instance() {
if (null === self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
/**
* Constructor
*/
private function __construct() {
$this->init();
}
/**
* Initialize the plugin
*/
public function init() {
// Hook into WordPress init
add_action('init', [$this, 'on_init']);
add_action('wp_loaded', [$this, 'on_wp_loaded']);
}
public function run($actions)
{
foreach ($actions as $action) {
$this->{$action}();
}
}
public function on_init() {
$actions = [];
$this->run($actions);
}
public function on_wp_loaded() {
$this->setup_filters();
$this->setup_actions();
}
public function setup_filters() {
$filters = [
'login_error_mask',
];
$this->run($filters);
}
public function setup_actions() {
$actions = [
'mitigation_remove_footer_shake',
'remove_wp_generator',
];
$this->run($actions);
add_filter('et_get_theme_version', [$this, 'remove_divi_version']);
}
public function login_error_mask()
{
add_filter('login_errors', function($error) {
return 'La información proporcionada lamentablemente es incorrecta.';
});
}
public function remove_divi_version() {
return '';
}
public function remove_wp_generator()
{
remove_action( 'wp_head', 'wp_generator' );
remove_action( 'wp_head', 'wc_generator' );
remove_action( 'wp_head', 'wlwmanifest_link' );
remove_action( 'wp_head', 'rsd_link' );
}
public function mitigation_remove_footer_shake()
{
remove_action('login_footer', 'wp_shake_js', 12);
}
}
Mitigation::get_instance();