是否在主题卸载时删除数据库表?

时间:2016-01-06 作者:Sai Krishna Teja R

在theme卸载时,如何在theme安装和删除这些表时执行DB查询?

2 个回复
SO网友:AddWeb Solution Pvt Ltd

是的,您可以通过WP默认功能来完成它。让我解释一下。

1. While switch theme:

有一个switch_theme 切换主题后立即运行的操作。博客主题更改时会触发switch\\u主题。具体来说,它在切换主题之后但在下一个请求之前激发。当主题被停用时,主题开发人员应该使用这个钩子来做一些事情。

<?php add_action(\'switch_theme\', \'theme_deactivation_function\'); ?> 
附加到此挂钩的主题功能仅在停用的主题中触发。要在主题激活时执行操作,请使用after_switch_theme.

停用后删除主题的选项:

add_action(\'switch_theme\', \'mytheme_setup_options\');

function mytheme_setup_options () {
  delete_option(\'mytheme_enable_features\');
  delete_option(\'mytheme_enable_catalog\');
}
switch_theme 仅当主题处于停用状态时才会调用。

2. After switch theme:

附加到此挂钩的主题函数仅在激活的主题(和/或子主题)中触发。要在停用主题时执行操作,请使用switch_theme.

换句话说,after\\u setup\\u主题表示WordPress设置当前主题的点,而不是管理员激活和/或配置当前主题的点。

<?php add_action("after_switch_theme", "mytheme_do_something"); ?>
为主题添加选项并将其设置为默认值:

add_action(\'after_switch_theme\', \'mytheme_setup_options\');

function mytheme_setup_options () {
  add_option(\'mytheme_enable_catalog\', 0);
  add_option(\'mytheme_enable_features\', 0);
}
after_switch_theme 只有在激活主题时才触发。

Referance: switch_themeafter_switch_theme 动作挂钩位于wp-includes/theme.php

SO网友:WPTC-Troop

主题激活使用after_switch_theme

add_action("after_switch_theme", "setup_db"); 

function setup_db(){
   //run your create table statements
}
主题停用使用switch_theme

add_action(\'switch_theme\', \'delete_db_things\');

function delete_db_things(){
  //run deletion statements
}

相关推荐

Need to edit themes HTML code

我在一家小型网上商店工作,我正在使用Averta福禄考主题。当我遇到他们在购物车里有虫子。cart在手机上不工作,因为我可以使用简单的css和html对其进行一些修复,我可以修复这个bug。但我找不到HTML部分的位置,因为它使用aux设计和elementor插件。也许有人可以建议这个地方如何找到代码的必要部分。这是一个福禄考购物车小部件,它在头文件中创建购物车功能。我的测试地点在这里-SHOP在这种情况下,我很想得到一些建议,因为Avera的支持在三年内忽视了这个问题。谢谢,很抱歉英语不好,这不是我的母