The plugin generated X characters of unexpected output during activation (WordPress)

2 probably reasons:

1) You are doing an output (like echo or etc) in wrong place.

  • Do you want to output a message in admin dashboard? – use admin_notices hook and output there…
  • Do you want to output a message in front-end? – find appropriate places with hooks (like the_content or wp_footer or whatever).

  • Don’t output anything either in register_activation_hook or outside of WordPress standard hooks, no-one should do that.**

2) if you aren’t doing any output intentionally, then maybe some php error happens? If so, put this code temporarily in functions.php and then activate the plugin – you will see the error.

define('temp_file', ABSPATH.'/_temp_out.txt' );

add_action("activated_plugin", "activation_handler1");
function activation_handler1(){
    $cont = ob_get_contents();
    if(!empty($cont)) file_put_contents(temp_file, $cont );
}

add_action( "pre_current_active_plugins", "pre_output1" );
function pre_output1($action){
    if(is_admin() && file_exists(temp_file))
    {
        $cont= file_get_contents(temp_file);
        if(!empty($cont))
        {
            echo '<div class="error"> Error Message:' . $cont . '</div>';
            @unlink(temp_file);
        }
    }
}

Leave a Comment