plugins – Deshabilitar la acción del complemento / complemento a través del tema

Pregunta:

He instalado el complemento Google Analyticator en mi sitio. También estoy usando el complemento MobilePress para ofrecer un tema diseñado para navegadores móviles que no son teléfonos inteligentes. He configurado Google Analytics para dispositivos móviles para su uso en este tema y me gustaría deshabilitar el complemento Analyticator ya que incluye una llamada a un archivo js más grande.

¿Alguien sabe si es posible deshabilitar un complemento usando functions.php o algún otro método?

Creo que he localizado el código que agrega las funciones a la página, así que si no es posible deshabilitar todo el complemento, ¿es posible detener las acciones para su ejecución? He intentado desactivarlos directamente sin suerte. Aquí está el código del archivo del complemento:

add_action('wp_head', 'add_google_analytics', 999999);
add_action('init', 'ga_outgoing_links');

Traté de eliminar esas acciones con:

remove_action('wp_head','add_google_analytics',9999999);
remove_action('init', 'ga_outgoing_links');

Cualquier ayuda es muy apreciada.

Respuesta:

Cuando WordPress activa un complemento, llama a la función activate_plugin() . Esta función activa el complemento en una caja de arena y redirige a otro lugar si tiene éxito. Algunos autores lo han utilizado para activar mediante programación las dependencias de complementos.

Hay otra función, deactivate_plugins() , que hace algo similar a la inversa … en realidad es como WordPress desactiva los complementos cuando haces clic en "desactivar" o "deshabilitar".

Para desactivar un complemento instalado, simplemente llame a:

deactivate_plugins( '/plugin-folder/plugin-name.php' );

O, para desactivar varios complementos a la vez:

deactivate_plugins( array( '/first-plugin/first.php', '/second-plugin/second.php' ) );

Hay un segundo parámetro (el primero es una cadena o una matriz de complementos para deshabilitar) que le permite deshabilitar los complementos sin llamar a los ganchos de desactivación. De forma predeterminada, está configurado como falso y le recomiendo que lo deje así. A menos que, por alguna razón, desee omitir la desactivación, debe hacer lo siguiente:

deactivate_plugins( '/plugin-folder/plugin-name.php', true );

Esto simplemente apagaría el complemento, pero no dispararía nada para lo que el complemento registrado en la desactivación. Entonces, si el complemento elimina opciones o tablas de base de datos cuando está desactivado, querrá hacer esta desactivación "silenciosa" para preservar esa información y usarla en otro lugar.

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım