付费节点推荐
免费节点
节点使用教程
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钩子创建数据表