Here is the minimum comment that you need for a plugin to be recognized.
<?php /* Plugin Name: Example Plugin */
Here is the a sample of a plugin with more of the information that is recommended along with some of the default activation calls.
<?php // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } /** * @package Some-Plugin-Name */ /* Plugin Name: Some Plugin Plugin URI: https://wpcms.ninja Description: Some Plugin Description Version: 1 Author: WP CMS Ninja Author URI: https://wpcms.ninja License: GPLv2 or later Text Domain: some_plugin */ define("SOME_PLUGIN_PATH", plugin_dir_path( __FILE__ )); define('SOME_PLUGIN_BASENAME', plugin_basename( __FILE__ )); /* Runs on Plugin activation */ register_activation_hook(__FILE__,'some_plugin_install'); function some_plugin_install() { some_plugin_db_sync(); update_option( "some_plugin_Version", "1"); set_transient( 'some_plugin_activated', 1 ); } /* Runs on plugin deactivation */ register_deactivation_hook( __FILE__, 'some_plugin_deactivate' ); function some_plugin_deactivate() { set_transient( 'some_plugin_deactivated', 1 ); } /* Runs on plugin uninstall */ register_uninstall_hook( __FILE__, 'some_plugin_uninstall'); function some_plugin_uninstall() { some_plugin_db_removal(); //can see this function in another one of my code snippets delete_option("some_plugin_Version"); delete_transient( 'some_plugin_updated' ); delete_transient( 'some_plugin_activated' ); }