Como verificar se o plugin está ativo no WordPress [3 MANEIRAS]
Publicados: 2020-08-08Como desenvolvedor do WordPress, uma das verificações mais comuns em seu código ao desenvolver um plug-in é o status da ativação do plug-in. Existem várias razões pelas quais você deve verificar se um plug-in está ativo. Para mencionar alguns, você pode verificar se um plug-in dependente está ativo ou um plug-in semelhante que faz a mesma coisa.
Em ambos os casos, você precisará adicionar a verificação no arquivo base do plug-in para verificar se o plug-in de destino está ativo. Um exemplo clássico quando você está desenvolvendo um plugin WooCommerce que estende as classes WooCommerce.
Por exemplo, quando você está desenvolvendo o plug-in do gateway de pagamento WooCommerce, você precisa verificar se o WooCommerce está ativo imediatamente após a ativação do plug-in ou, de preferência, durante o gancho de ativação do plug-in.
Verifique se um plugin do WordPress está ativo
Felizmente, o núcleo do WordPress tem um método ou função pronto para usar que verifica se um determinado plugin está ativo e retorna um verdadeiro ou falso.
Esta função retorna um boolean - true or false
e você pode facilmente incorporá-lo em seu código, especialmente durante o gancho de ativação.
Se o plug-in que você está verificando não estiver ativo, você pode exibir um aviso de cabeçalho para o usuário instalar o plug-in.
Você também pode aplicar a mesma função quando quiser que o usuário desative outro plug-in que provavelmente entrará em conflito com a funcionalidade do seu plug-in.
Revisão rápida da função is_plugin_active()
Vejamos rapidamente a função is_plugin_active()
para saber mais sobre como usá-la efetivamente em seu projeto.
is_plugin_active( string $plugin )
Esta função recebe um parâmetro de string que é a representação do caminho para o caminho relativo do plug-in no diretório de plug-ins.
function is_plugin_active( $plugin) { return in_array( $plugin, (array) get_option( 'active_plugins', array() ) ) || is_plugin_active_for_network( $plugin); }
woocommerce/woocommerce.php
, conforme mostrado no
imagem abaixo:
A função is_plugin_active()
pode ser usada para verificar se o plugin está ativo no backend usando o seguinte trecho de código
<?php /** * Detectar plug-in. Para uso apenas na área Admin. */ if ( is_plugin_active( 'plugin-directory/plugin-file.php' ) ) { //plugin está ativado }
Por exemplo, se você quiser verificar se o WooCommerce está ativo, você pode verificar usando o seguinte código:
<?php /** * Verifique se o WooCommerce Plugin está ativo na área de administração */ if ( is_plugin_active( 'woocommerce/woocommerce.php' ) ) { //O plugin WooCommerce está ativado }
Arquivo base de plug-in e diretório base
Como você pode ver, usei o nome de base do plug-in WooCommerce e a pasta como mencionei e ilustrada usando a imagem acima.
O nome base de um plug-in é o nome do arquivo de um único plug-in de arquivo que é o arquivo principal e às vezes corresponde ao diretório/pasta, mas não em todos os casos – alguns plug-ins são diferentes.
Verifique se o plug-in está ativo no multisite
Para WordPress multisite, existe uma função projetada para ajudar os desenvolvedores a verificar se o plug-in está ativo na rede multisite. A função é:
is_plugin_active_for_network( string $plugin )
Esta função funciona exatamente como a função is_plugin_active( string $plugin ) e pode ser aplicada da mesma forma para determinar se o plugin está ativo na rede multisite do WordPress.
<?php function is_plugin_active_for_network( $plugin) { if (! is_multisite()) { retorna falso; } $plugins = get_site_option('active_sitewide_plugins'); if ( isset( $plugins[ $plugin])) { retorne verdadeiro; } retorna falso; }
Outras maneiras de verificar se o plug-in está ativo
Existem outras maneiras que você pode empregar para verificar se um plugin está ativo. Você pode verificar usando as funções nativas do php class_exists ou function_exists. Esses métodos verificam se a classe do plugin ou a função existe respectivamente.
Usando function_exists() para verificar se o plug-in está ativo
Se você conhece a função ou método de um plugin você pode verificar usando o método function_exists
como no trecho abaixo:
<?php if( function_exists( 'plugin_function' ) ) { // Plugin está ativo }
Usando class_exists() para verificar se o plugin está ativo
Se você conhece a classe principal de um plugin você pode verificar usando o método class_exists
como no trecho abaixo:
<?php if( class_exists( 'plugin_class' ) ) { // Plugin está ativo }
Você pode conectar qualquer um desses métodos para verificar se o plug-in está ativo no gancho plugins_loaded
como no trecho de código abaixo:
<?php /* * Teste se um plugin está ativo */ function njengah_is_plugin_name_active() { if( class_exists( 'Plugin_Class' ) ) { // Está ativo, então faça a lógica aqui } } add_action( 'plugins_loaded', 'njengah_is_plugin_name_active');
Conclusão
Neste post destacamos as várias maneiras de verificar se um plugin está ativo quando você está desenvolvendo outro plugin ou tema. Esses são métodos úteis que você pode aplicar em todas as suas tarefas de desenvolvimento do WordPress.
Artigos semelhantes
- Como parar o formulário de contato do WordPress 7 Spam sem plug-in
- Como criar uma página de login no WordPress sem usar o plug-in
- 26 melhores plugins WooCommerce para feedback do cliente
- 30 melhores plugins de segurança do WordPress para proteger seu site
- Como adicionar o ícone de remoção à página de checkout do WooCommerce
- Como alterar o link de retorno à loja no Woocommerce
- Como obter o ID do pedido no Woocommerce
- 23 melhores plugins WooCommerce para personalização da página de checkout
- Como ocultar o subtotal do carrinho no WooCommerce ou remover a linha do subtotal
- Como redirecionar para o carrinho após o login no WooCommerce
- Como redirecionar na atualização da página do WordPress » Detectar a atualização da página PHP
- Como exibir o nome da categoria no WordPress usando um exemplo prático
- Como remover foi adicionado ao seu carrinho Mensagem WooCommerce
- Como criar paginação de consulta personalizada no WordPress com um exemplo
- Como pular o carrinho e redirecionar para a página de checkout WooCommerce
- Como adicionar texto antes do preço no WooCommerce » Adicionar texto antes do preço
- Como obter informações do usuário logado no WordPress
- Como redirecionar o usuário se não estiver logado no WordPress » Redirecionamento de página
- Como alterar o aviso 'Adicionado ao carrinho' do WooCommerce
- Como exibir o texto de disponibilidade de estoque no WooCommerce » Em estoque e fora