在wordpress里面新建一张数据表的代码和步骤
天兴工作室 2022-03-04 16:42 wordpress教程 2184 0 评论
今天在给一个客户做定制的时候需要在wordpress里面新建一个数据表,实在是不想看源码直接上某搜索引擎搜了下”wordpress新建数据表“,排除csdn和某”it1352“这种辣鸡网站后,搜出来的结果还是大同小异,大部分都是抄的”我爱水煮鱼“的一篇文章。
然后我就直接复制水煮鱼的代码,测试后发现新建数表并不成功。综合参照其他搜索结果也一样的不成功。
只能放弃面向搜索引擎写代码的习惯,去看了下wp新建数据表的源码,在”wp-admin/includes/schema.php“文件里面。
对照了看下觉得是不是数据库的字符集问题?
水煮鱼的代码如下:
function weixin_robot_texts_crate_table() {
global $wpdb;
$table_name = $wpdb->prefix . "weixin_robot_texts";
if($wpdb->get_var("show tables like '$table_name'") != $weixin_robot_texts_table) {
$sql = "CREATE TABLE " . $table_name . " (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`keyword` varchar(255) CHARACTER SET utf8 NOT NULL,
`reply` text CHARACTER SET utf8 NOT NULL,
`status` int(1) NOT NULL DEFAULT '1',
`time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `keyword` (`keyword`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}}
register_activation_hook( __FILE__,'weixin_robot_texts_crate_table');他这个字符集是直接写死的,wp源码里面是这么写的:
$charset_collate = $wpdb->get_charset_collate();
然后我把代码改了下:
function my_table_crate_table() {
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$table_name = $wpdb->prefix . "my_table_name";
if($wpdb->get_var("show tables like '$table_name'") != $table_name) {
$sql = "CREATE TABLE " . $table_name . " (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`keyword` varchar(255) CHARACTER SET utf8 NOT NULL,
`reply` text CHARACTER SET utf8 NOT NULL,
`status` int(1) NOT NULL DEFAULT '1',
`time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`id`),
UNIQUE KEY `keyword` (`keyword`)
) '.$charset_collate.';
";
require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
dbDelta($sql);
}}
register_activation_hook(__FILE__, 'my_table_crate_table');果然就成功了呢...
PS:结尾还是要吐槽下搜索引擎的结果,csdn这种毒瘤就不谈了,阿里云腾讯云用关键词造出一堆关联类型的辣鸡页面出来更没有节操。还有大部分的网站都是复制粘贴完事。更奇葩的是it1352这种内容辣鸡就算了,浏览辣鸡还要关注他们的辣鸡公众号,真是一堆造粪机
相关推荐
欢迎 你 发表评论: 取消回复
- 最新文章
- 热文排行
- 最多评论
- 1天兴工作室多语言翻译插件 自动翻译多达12种语言 适合外贸站点06-23
- 2有道云翻译获取appid和seckey的详细步骤和截图06-22
- 3支付宝支付后异步通知页面提示”支付签名校验失败,请联系管理员!“的原因和解决方法05-08
- 4阿里云oss配置项获取步骤截图,包含ID和Secret、区域节点Endpoint、存储空间Bucket和资源访问域名04-14
- 5zblog登录后台一直提示验证码错误的原因和解决方法03-01
- 6zblog使用api提交post数据提示419错误的原因和解决方法02-23
- 7天兴工作室2025年春节放假公告01-25
- 8天兴用户中心插件“微信通知”功能设置教程11-09
- 9阿里云2024双11活动推荐 通过本站链接参与另外赠送本站代金券11-05
- 标签聚合
- ×3天兴工作室活动×1红色企业模板×1zblogphp单篇文章×2会员中心×1office×2zblog问答×1zc升级×8描述×2zblogphp调用×3phpstudy×1购买zblog主题×1装修网站×1快速翻页×19zblog函数×1zblog安装插件×1博客样式×1面包屑导航×2zblog工具栏×1首页缓存×1cms
最新评论
-
10-21老郭
可以直接用哦 文本内容 评论于:zblog插件:右下角网站公告
-
07-06
访客111 总之不是免费的午餐,不走某Z模式,难发展 评论于:关于zblog版权的说明
-
02-08
天兴工作室 并没有任何限制 -
02-08
访客 请问 zblog淘客主题 对使用者的要求是必须是企业吧? -
11-09
阿浩 大佬们,丢几个除了作者以外的演示站,我想看看大家的布局设置









鄂公网安备 42011102002962号