下面是一个简单的 WordPress 插件示例,它将在启用的时候创建对应的数据表:
-
创建一个名为
my-database-plugin
的文件夹,并在其中创建一个名为my-database-plugin.php
的文件。 -
在
my-database-plugin.php
文件中添加以下代码:<?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' );
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容