WordPress主题启用时的动作钩子after_switch_theme

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

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

如果旧主题仍然存在,则在主题切换后的第一个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);
}
}

与之对应的,除了启用激活主题钩子外,还有取消激活时的动作钩子switch_theme,除了使用after_switch_theme钩子之外,还可以使用load-themes.php钩子,它将在用户访问主题设置时启动。

 

 

阅读全文
百度网盘下载地址
下载价格39 元
VIP会员免费
此资源购买后7天内可下载。链接失效请联系客服QQ:2837383384
常见问题
下载地址失效了怎么版?
客服会第一时间检查下载地址,并发送到您的注册邮箱。如未及时处理可联系客服QQ或邮箱。
导入演示被中断了想重新导入怎么办?
https://themege.net/23822.html
不懂导入演示数据?无法一键导入演示数据?
https://themege.net/16186.html
原文链接:https://themege.net/11760.html,转载请注明出处。
0

评论0

请先