Wordpress Plugin Standards:

Header Requirements


/**
 * Plugin Name: Example Plugin
 * Plugin URI:  https://example.com/plugins/the-basics/
 * Description: Basic WordPress Plugin Header Comment
 * Version:     1.0.0
 * Author:      Chirag Prajapati
 * Author URI:  https://chrgprajapati.blogspot.com
 * License:     GPL2
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: example
 * Domain Path: /languages
 */


Define Basic Constant value


define( 'EX_VERSION', '1.0' );
define( 'EX_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
define( 'EX_PLUGIN_DIR', untrailingslashit( dirname( __FILE__ ) ) );
define( 'EX_PLUGIN_URL', untrailingslashit( plugins_url( '', __FILE__ ) ) );
define( 'EX_CONTENT_URL',  content_url( ));
Above five is basic but you can define the extra variable as you want. like,
define( 'EX_LOG_DIR',  WP_CONTENT_DIR.'/uploads/ex_logs/');
define( 'EX_LOG_file', EX_LOG_DIR.'/ex_log.txt' );

Call Required files


require_once EX_PLUGIN_DIR. '/ex_function.php';

Activation / Deactivation Hooks



if ( !function_exists( 'ex_setup_post_type' ) ) {
 function ex_setup_post_type() {
  // register the "book" custom post type
  register_post_type( 'book', ['public' => 'true'] );
 }
}
add_action( 'init', 'ex_setup_post_type' );

if ( !function_exists( 'ex_install' ) ) {
 function ex_install() {
  // trigger our function that registers the custom post type
  ex_setup_post_type();
  
  // clear the permalinks after the post type has been registered
  flush_rewrite_rules();
 }
}
register_activation_hook( EX_PLUGIN_BASENAME, 'ex_install' );

if ( !function_exists( 'ex_deactivation' ) ) {
 function ex_deactivation() {
  // unregister the post type, so the rules are no longer in memory
  unregister_post_type( 'book' );
  // clear the permalinks to remove our post type's rules from the database
  flush_rewrite_rules();
 }
}
register_deactivation_hook( EX_PLUGIN_BASENAME, 'ex_deactivation' );

Folder Structure



/plugin-name
     plugin-name.php
     uninstall.php
     /languages
     /includes
     /admin
          /js
          /css
          /images
     /public
          /js
          /css
          /images

Comments

Post a Comment

Popular posts from this blog

How to Add a “Back To Top” Button to Any Blog (Blogger, WordPress)

How to Create CPT in WordPress ?