Here is a simple WordPress plugin example that will create the corresponding database table when enabled:
Create a file named
my-database-pluginCreate a folder and within it, create a file namedmy-database-plugin.phpDocument.在
my-database-plugin.phpAdd the following code to the document:<?php /** * Plugin Name: 红穆插件 * Plugin Script: hongmu-zibi.php * Plugin URI: http://4s5.cn * Description: 开发插件的示范 * Version: 1.3.0 * License: GPL * Author: 红穆 * Author URI: http://4s5.cn/ * Text Domain: hongmu-zibi */ // 如果直接访问该文件则退出。 if ( ! defined( 'ABSPATH' ) ) { exit; } /** * 定义数据库表名。 */ global $wpdb; define( 'MY_DATABASE_TABLE', $wpdb->prefix . 'my_database_table' ); /** * 在插件激活时创建数据库表。 */ function my_database_plugin_activate() { global $wpdb; $table_name = MY_DATABASE_TABLE; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE $table_name ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, email varchar(255) NOT NULL, PRIMARY KEY (id) ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); } register_activation_hook( __FILE__, 'my_database_plugin_activate' ); /** * 在插件停用时删除数据库表。 */ function my_database_plugin_deactivate() { global $wpdb; $table_name = MY_DATABASE_TABLE; $wpdb->query( "DROP TABLE IF EXISTS $table_name" ); } register_deactivation_hook( __FILE__, 'my_database_plugin_deactivate' ); /** * 添加插件菜单页面。 */ function my_database_plugin_menu() { add_menu_page( '我的数据库插件', '我的数据库插件', 'manage_options', 'my-database-plugin', 'my_database_plugin_page', 'dashicons-database', 30 ); } add_action( 'admin_menu', 'my_database_plugin_menu' );