WordPress利用after_switch_theme钩子创建数据表

付费节点推荐


免费节点


节点使用教程


wordpress主题在启用时有个叫做after_switch_theme的动作钩子,挂载函数到该钩子上可以方便我们实现一些主题的扩展功能,如创建数据表等操作。wordpress核心中埋下了很多动作钩子过滤器,个人觉得这东西就像是C#中的委托事件一样,用户注册事件并委托指定函数执行内容。如果不能理解WP的钩子可以参考下,触类旁通。

do_action( 'after_switch_theme', string $old_name, WP_Theme $old_theme )

Copy

如果旧主题仍然存在,则在主题切换后的第一个WP加载上触发。

描述

此操作多次触发,如果旧主题存在或不存在,则参数根据上下文的不同而不同。如果旧主题缺失,参数将是旧主题的片段。

参数

  • $old_name
    (字符串) 旧主题名称
  • $old_theme
    (WP_Theme) 旧主题的WP_Theme实例。

简单使用

如下代码将在启用主题时,创建一张数据表:

//创建test数据表
add_action( 'after_switch_theme', 'create_level_table' );
function create_level_table(){
global $wpdb;
$table_name =$wpdb->prefix ."test"; 
if($wpdb->get_var("show tables like $table_name") != $table_name) { 
$sql ="CREATE TABLE `".$table_name."` ( 
`userid` INT NOT NULL , 
`body` TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL
);";

require_once(ABSPATH . "wp-admin/includes/upgrade.php");
dbDelta($sql);
}
}

未经允许不得转载:Bcoder资源网 » WordPress利用after_switch_theme钩子创建数据表

相关推荐

更多优质资源关注微信公众号: bcoder

bcoder
赞 (2)
分享到:更多 ()