如何仅重置特定主题的数据库条目?

时间:2014-04-13 02:13:09

标签: database wordpress wordpress-theming reset

我在修改WordPress主题时遇到了一个错误。问题是,在Firefox上,页面可滚动到极多像素,即使实际网站内容的大小合适。

我还尝试删除父主题和子主题,使用原始zip文件重新安装它们,但它不起作用,因为设置实际上保存在数据库中。

(我知道这是真的,因为我选择的自定义颜色设置甚至在删除并重新安装主题后重新出现。如果是这种情况,这是否意味着问题不是由于我篡改CSS,而是通过可以从WordPress自定义界面自定义的设置?)

我还没能找到我手动篡改的代码,因此我想重置数据库而不重置所有数据库设置。我只是想为我篡改的主题重置数据库。

如何仅为给定主题而不是整个数据库重置数据库?

1 个答案:

答案 0 :(得分:1)

搜索主题中使用的以下函数:

  • add_option( 'option_name', $values );
  • update_option( 'option_name', $values );

然后在数据库中搜索option_name并删除条目。如果幸运的话,主题只使用一个条目并将所有内容保存在数组中($values)。但是有一些主题可以在一个选项中保存每个值,例如:

$values = array(
    'color' => '#fff', 
    'background' => '#000', 
    'etc' => 'something',
    // a hundred more options
);
$theme_prefix = 'superTheme_';
foreach( $values as $value => $default ) {
    add_option( $theme_prefix . $value, $default );
}