站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
▼
建站程序
开发
服务器
办公软件
开发教程
▼
服务器教程
软件使用教程
运营教程
热门电子书
▼
CSS教程
WordPress教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
热点词条
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
WordPress用插件创建数据库表
”(章节)
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
==创建数据库表== 第一步,我们需要在插件中创建一个能在WordPress MySQL数据库中添加一个或多个数据库表的PHP函数。为方便展开说明,我们假设函数名称为jal_install。 '''数据库表前缀''' WordPress博客主人可以在wp-config.php文件中定义一个数据库表前缀。WordPress数据库默认表前缀是"wp_",但我们可以检查实际值并用该值来定义数据库表名。可以在$wpdb->prefix变量中查找该实际值。(在早于WordPress 2.0的WordPress版本中开发插件时,需要用到table_prefix全局变量。该变量在WordPress 2.1中停用。) 因此,如果我们需要创建一个名为(前缀)liveshoutbox的数据库表,首先要将建表函数的前几行代码写成以下样式: function jal_install () { global $wpdb; $table_name = $wpdb->prefix . "liveshoutbox"; ===我们需要的数据库表是否已经存在?=== 之后我们需要检查数据库中是不是已经有一个我们需要的表。下面的if语句利用SHOW TABLES SQL查询语句来查找可能符合我们需要的数据库表,将查找出的表与我们的表名进行对比: if($wpdb->get_var("SHOW TABLES LIKE '$table_name'") != $table_name) { ===创建表与升级表=== 接下来我们就要实际创建数据库表了。这里会用到wp-admin/upgrade-functions.php(该文件不是WordPress默认加载文件,因此我们要自己手动加载此文件)中的dbDelta函数而不是直接执行SQL语句。dbDelta函数会检查现有表结构并将该表结构和我们需要的表结构进行对比,之后对现有表结构进行必要添加和修改,以便升级(更多dbDelta用法示例可参见 wp-admin/upgrade-schema.php )。注意,使用dbDelta函数时要求较严格,使用时请注意以下几点: 将所有字段放在SQL语句的与字段相对应的位置上 RIMARY KEY之间要用空格隔开,定义主关键字时也应用空格隔开 使用关键字KEY而不是其同义词INDEX 根据以上说明,我们编写出函数之后部分代码,也就是实际创建/升级数据库表的代码部分。我们还需要在$sql变量中替换自己的表结构: $sql = "CREATE TABLE " . $table_name . " ( id mediumint(9) NOT NULL AUTO_INCREMENT, time bigint(11) DEFAULT '0' NOT NULL, name tinytext NOT NULL, text text NOT NULL, url VARCHAR(55) NOT NULL, UNIQUE KEY id (id) );"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql);
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)