register_scripts_and_styles(); register_activation_hook( __FILE__, array( &$this, 'activate' ) ); register_deactivation_hook( __FILE__, array( &$this, 'deactivate' ) ); /* * TODO: * Define the custom functionality for your plugin. The first parameter of the * add_action/add_filter calls are the hooks into which your code should fire. * * The second parameter is the function name located within this class. See the stubs * later in the file. * * For more information: * http://codex.wordpress.org/Plugin_API#Hooks.2C_Actions_and_Filters */ add_action( 'TODO', array( $this, 'action_method_name' ) ); add_filter( 'TODO', array( $this, 'filter_method_name' ) ); } // end constructor /** * Fired when the plugin is activated. * * @params $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog */ function activate( $network_wide ) { // TODO define activation functionality here } // end activate /** * Fired when the plugin is deactivated. * * @params $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog */ function deactivate( $network_wide ) { // TODO define deactivation functionality here } // end deactivate /*--------------------------------------------* * Core Functions *---------------------------------------------*/ /** * Note: Actions are points in the execution of a page or process * lifecycle that WordPress fires. * * WordPress Actions: http://codex.wordpress.org/Plugin_API#Actions * Action Reference: http://codex.wordpress.org/Plugin_API/Action_Reference * */ function action_method_name() { // TODO define your action method here } // end action_method_name /** * Note: Filters are points of execution in which WordPress modifies data * before saving it or sending it to the browser. * * WordPress Filters: http://codex.wordpress.org/Plugin_API#Filters * Filter Reference: http://codex.wordpress.org/Plugin_API/Filter_Reference * */ function filter_method_name() { // TODO define your filter method here } // end filter_method_name /*--------------------------------------------* * Private Functions *---------------------------------------------*/ /** * Registers and enqueues stylesheets for the administration panel and the * public facing site. */ private function register_scripts_and_styles() { if ( is_admin() ) { // TODO replace 'plugin-slug-' with a unique value for your plugin $this->load_file( 'plugin-slug-admin-script', '/js/admin.js', true ); $this->load_file( 'plugin-slug-admin-style', '/css/admin.css' ); } else { // TODO replace 'plugin-slug-' with a unique value for your plugin $this->load_file( 'plugin-slug-script', '/js/widget.js', true ); $this->load_file( 'plugin-slug-style', '/css/widget.css' ); } // end if/else } // end register_scripts_and_styles /** * Helper function for registering and enqueueing scripts and styles. * * @name The ID to register with WordPress * @file_path The path to the actual file * @is_script Optional argument for if the incoming file_path is a JavaScript source file. */ private function load_file( $name, $file_path, $is_script = false ) { $url = plugins_url( $file_path, __FILE__ ); $file = plugin_dir_path( __FILE__ ) . $file_path; if( file_exists( $file ) ) { if( $is_script ) { wp_register_script( $name, $url, array( 'jquery' ) ); wp_enqueue_script( $name ); } else { wp_register_style( $name, $url ); wp_enqueue_style( $name ); } // end if } // end if } // end load_file } // end class // TODO: update the instantiation call of your plugin to the name given at the class definition new PluginName(); ?>