Soporte » Plugins y Hacks » Desactivar automáticamente un plugin

  • Hola a todos,

    He estado intentando realizar la activación y des activación automática de un plugin en mi sitio pero no logro buenos resultados.

    Necesito desactivarlo los días jueves a una hora específica y activarlo unas horas más tarde

    El plugin que quiero automatizar se llama Slim Maintenance Mode.

    He intentado con el siguiente código, pero no logro ningún resultado satisfactorio, espero que ustedes puedan ayudarme:

    
    <?php 
    
    require('/home/tecreemosdemo/public_html/solicitud-firma/wp-admin/includes/plugin.php');
    
    function toggle_plugin() {
    
    	// Full path to WordPress from the root
    	$wordpress_path = '/home/tecreemosdemo/public_html/solicitud-firma/';
    
    	// Absolute path to plugins dir
    	$plugin_path = $wordpress_path.'wp-content/plugins/';
    
    	// Absolute path to your specific plugin
    	$my_plugin = $plugin_path.'slim-maintenance-mode/slim-maintenance-mode.php';
    
    	// Check to see if plugin is already active
    	if(is_plugin_inactive($my_plugin)) {
    
    		// Deactivate plugin
    		// Note that deactivate_plugins() will also take an
    		// array of plugin paths as a parameter instead of
    		// just a single string.
    		activate_plugin($my_plugin);
    	}
    	else {
    
    		// Activate plugin
    		deactivate_plugins($my_plugin);
    	}
    }
     ?> 

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 2 respuestas - 1 de 2 (de 2 total)
  • Buenas @jc_razek
    Para implementar esta técnica, necesitaremos dos ficheros PHP, uno para activar y otro para desactivar los plugins, y dos programaciones personalizadas en el CRON para cada una de las llamadas. En ayudaWP se muestra un post de @fpuenteonline que describe con detalle cmo hacerlo por lo que te recomiendo que le des un vistazo > https://ayudawp.com/pon-a-trabajar-los-plugins-por-horas/

    Como siempre, antes de tocar nada, copia de seguridad!!!

    Mucha suerte y a ser felices!

    • Esta respuesta fue modificada hace 1 año, 3 meses por  Jaime Gármar. Razón: error de autor post

    Hola @jaimegarmar

    Muchas gracias por tu aporte, he intentado hacerlo con el código que menciona el artículo pero no obtengo ningún resultado.

    Lo he estado probando primero en local para después replicarlo en el ambiente productivo, a continuación el código:

    <?php
    //Entorno WordPress en el raíz
    @require_once( getenv("c:/xampp/htdocs/actdatos") . '/wp-load.php' );
    
    function deactivate_plugin_by_code( $plugin ) {
    $plugin = plugin_basename( trim( $plugin ) );
    //Activo?
    if(is_plugin_active($plugin)) {
    // Deactivate plugin
    deactivate_plugins($plugin);
    }
    }
    
    //Desactivar plugins
    deactivate_plugin_by_code( "akismet/akismet.php" );
    ?>
Viendo 2 respuestas - 1 de 2 (de 2 total)
  • El debate ‘Desactivar automáticamente un plugin’ está cerrado a nuevas respuestas.