Como enviar mensagens durante a ativação do plugin

9

Estou desenvolvendo um plugin, mas durante a frase de ativação estou constantemente enfrentando bugs. No entanto, não há uma maneira fácil de exibir mensagens de erro, uma vez que o material de eco resultaria em um erro de saída não-expirada. Eu tentei o gancho admin_message mas não funciona. Como posso alertar o usuário se algum estágio da ativação falhou com o motivo?

    
por lulalala 29.08.2011 / 11:31

3 respostas

8

Para fins de teste, você pode usar o sistema de log (php_error.log):

error_log('Plugin activated', 0);

// Check for DB table existance
if(!$this->hasDBTable()){
    error_log('Database not present', 0);
    if($this->createCELabelsDBTables()){
        error_log('Database was created.', 0);
    } else {
        error_log('Error creating the CE Labels Plugin db tables!', 0);
    }

} else {
    error_log('Database OK', 0);
}

Para gerar um erro para o usuário sem o erro "Cabeçalhos já enviados", você pode usar a função php trigger_error:

trigger_error('PLUGIN OK',E_USER_ERROR);

Com o Wordpress sempre deve ser E_USER_ERROR ou não exibirá a mensagem.

Eu sei que o error_log funciona perfeitamente desde que eu o estou usando, mas o trigger_error é exibido para informações obrigatórias. Experimente e veja por si mesmo:)

    
por Domingos Freitas 30.08.2011 / 12:38
2

SOLUÇÃO:

register_activation_hook( __FILE__, 'my_activation_func' ); function my_activation_func() {
    file_put_contents(__DIR__.'/my_loggg.txt', ob_get_contents());
}

insira este código no plugin, e após o erro, veja "my_loggg.txt" dentro da pasta do seu plugin.

    
por T.Todua 19.03.2015 / 00:55
0

1) Por favor, remova o espaçamento extra nas páginas internas ou nas páginas do plugin.

2) remova o estilo inline nas páginas ou nas páginas do plug-in.

funcionou para mim toda vez. Eu usei muitas vezes o mesmo método. quando o erro do problema na página do plugin ou na página do Wordpress.

Atenciosamente,

Hitesh Nagpal

    
por hitesh nagpal 08.04.2015 / 06:47