Category: Wordpress

Add new menu items to wordpress admin by using custom plugin

To add an menu items to administration menu then you must do three things:

1. create function for building menu

function my_plugin_menu() {
	add_options_page( 'My Plugin Options', 'My Plugin', 'manage_options', 'my-unique-identifier', 'my_plugin_options' );
}

2. Register the above function using the admin_menu action hook.

add_action( 'admin_menu', 'my_plugin_menu' );

3. Create the HTML output for the page displayed when the menu item is clicked

function my_plugin_options() {
	if ( !current_user_can( 'manage_options' ) )  {
		wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
	}
	echo '<div class="wrap">';
	echo '<p>Here you can put your own HTML code</p>';
	echo '</div>';
}

That’s it. If you have any query then comment here.

Create table while activating the custom wordpress plugin

If you want create a database table while a activating the plugin then you have to register_activation_hook() function. The following code can be placed in your main plugin file. The function will create tables in your Database.


function myplugin_install() {
    global $wpdb; 
    $table_name = $wpdb->prefix . "mytable";
    $db_version = '1.0';
    /**Execute the sql statement to create table**/
    $sql = "CREATE TABLE IF NOT EXISTS " . $table_name . " (
        `ID` int(11) NOT NULL AUTO_INCREMENT,
        `field1` varchar(300) DEFAULT NULL,
		`field2` varchar(300) DEFAULT NULL,
		`field3` varchar(300) DEFAULT NULL,
		`field4` varchar(300) DEFAULT NULL,
		`field5` varchar(300) DEFAULT NULL,
		 PRIMARY KEY (`ID`));"; 
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
    add_option( "db_version", '1.0' );  
}
// plugin activation hook
register_activation_hook(__FILE__,'myplugin_install');

Then activate your plugin.If already activated then reactivate the plugin. It automatically create table in your database. That’s it.

Have any doubt, then comment here!

Difference between wp_insert_user() and wp_create_user()

There is no difference between wp_insert_user() and wp_create_user(). The entire source of wp_create_user() is given below

function wp_create_user($username, $password, $email = '') {
    $user_login = esc_sql( $username );
    $user_email = esc_sql( $email    );
    $user_pass = $password;

    $userdata = compact('user_login', 'user_email', 'user_pass');
    return wp_insert_user($userdata);
}

It just calls insert version almost immediately, basically a shorthand wrapper.