Desativando plugins direto no seu código [ WordPress ]

Hoje vou falar de uma coisa simples, porém, necessária. Vou falar de um Hook bem conhecido no WordPress: deactivate_plugins.

Essa semana, o PO do meu time estava testando algumas compras no WooCommerce no ambiente de desenvolvimento. Até ai tudo normal.
Logo em seguida recebemos um aviso de que as compras estavam batendo em produção. Vixeee!!
O problema era que tinha um plugin do Zapier que integrava os pedidos direto em produção, com isso tinhamos que lembrar sempre de desativar o plugin no ambiente de desenvolvimento. É ai que o Hook de hoje entra.

Com esse simples código que mostrarei abaixo, chamamos o init com nossa função.
O init Dispara após o carregamento do WordPress, mas antes do envio de qualquer cabeçalho.

function deactivate_plugin_local() {
	if( strpos(get_site_url(), 'localhost') || strpos(get_site_url(), 'develop-ambient') || strpos(get_site_url(), 'preprod-ambient') ) {
		deactivate_plugins('woocommerce-zapier/woocommerce-zapier.php');
	}
}
add_action('init', 'deactivate_plugin_local');

Verifiquei o localhost e os dois ambientes. Se estiver em um desses três dominios, desativamos o plugin do zapier.

OBS: Temos que buscar o index do plugin, que normalmente é o mesmo nome da pasta .php =)

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *