A função PHP is_plugin_active() verifica se um plugin localizado no diretório plugins/ está ativo ou não. Plugins instalados dentro diretório mu-plugins/ (must-use plugins) não podem ser ativados e por isto esta função sempre retornará falso para eles.

A função is_plugin_active() é bastante útil quando você precisa executar um código que personaliza o comportamento de um plugin ou altera algo em seu site se o mesmo estiver ativo. Para evitar erros fatais na execução deste código caso o plugin não estiver ativo, é preciso fazer esta verificação e é aí que a função ajuda.

Ela possui como parâmetro uma string com o caminho do arquivo principal do plugin, relativo ao diretório de plugins. Este normalmente tem o formato de: diretório do plugin/arquivo do plugin.php.

<?php
// Verificando a ativação do plugin YOAST dentro da tela de administração
if ( is_plugin_active( 'wordpress-seo/wp-seo.php' ) ) {
    echo "plugin Yoast SEO está ativo";
} else {
    echo "plugin Yoast SEO está INATIVO";
}
?>Code language: PHP (php)

Caso você tente executar o código acima fora da tela de administração, será exibido o erro: Fatal error: Uncaught Error: Call to undefined function is_plugin_active(). Para corrigir este problema é necessário incluir o arquivo wp-admin/includes/plugin.php para adicionar a função de validação.

<?php
// Verificando a ativação do plugin YOAST no front-end do site
include_once( ABSPATH . 'wp-admin/includes/plugin.php' );

if ( is_plugin_active( 'wordpress-seo/wp-seo.php' ) ) {
    echo "plugin Yoast SEO está ativo";
} else {
    echo "plugin Yoast SEO está INATIVO";
}
?>Code language: PHP (php)

Nem sempre é muito claro qual é o arquivo principal do plugin. Para ajudar nessa identificação procure por um cabeçalho similar a este no conteúdo do arquivo:

<?php
/**
 * Plugin Name: Plugin Mágico
 * Description: Descrição da magia que o plugin faz 
 * Plugin URI: https://www.danielkossmann.com/plugin-magico
 * Version: 3.3
 * Author: Daniel Kossmann 
 * Author URI: https://www.danielkossmann.com/
 * Text Domain: plugin-magico 
 * 
 * @package Plugin Magico
 */
?>Code language: PHP (php)


Comments

Deixe um comentário

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