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

  1. "Thank you for breaking this down so well! This post is truly valuable."

    ReplyDelete
  2. Great insights on WordPress Plugin Standards! Ensuring quality, security, and consistency in every plugin is essential for long-term performance. For businesses aiming to optimize or develop custom plugins effectively, choosing to Hire Backend Developer professionals is always a wise decision.

    ReplyDelete

Post a Comment

Popular posts from this blog

How to Create CPT in WordPress ?

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