【问题标题】:How can I maintain my settings when switching Wordpress themes?切换 Wordpress 主题时如何维护我的设置?
【发布时间】:2015-03-05 11:16:15
【问题描述】:

我目前正在开发一系列 Wordpress 主题。这些主题都需要有自定义主题选项,并且它们都会有自定义主题选项页面。但是,某些主题具有其他主题中未使用的选项。

当我切换主题,在新主题上自定义主题选项并保存选项时,我注意到该主题未使用的所有选项都丢失了,并且在切换回来时,必须重置。有没有办法确保这些选项保留在数据库中,即使它们没有被当前活动主题使用?

【问题讨论】:

  • 如果您将主题设置写入 wp_options 表,它们应该保留在那里。我不认为该表会自动清除。
  • 无论主题如何,网站设置(通过wp_options)都会保持不变。也许新主题没有使用与旧主题相同的选项名称。但是,如果他们在新主题上使用与旧主题相同的选项名称,并且您将选项保存在新主题上,那么这些选项也会在您切换回旧主题时反映出来。

标签: php wordpress


【解决方案1】:

您可以使用多种功能来维护您的主题选项。

当一个主题被激活时,会有一个钩子,叫做after_switch_theme

最好的方法,如果你创建一个数组,默认选项键/值在哪里。

所以创建一个这样的数组:

$theme_default_options = array (
    //.....
);

所以你可以用来设置一个选项:

add_action('after_switch_theme', 'theme_setup_function');

如果你想删除你的选项,或者操作数据库,当你切换旧主题时,你可以使用switch_theme。停用时会发生这种情况:

add_action('switch_theme', 'theme_deactivation_function');

还有 3 个功能供您操作选项:

add_option($option, $value);
update_option($option, $value);
delete_option($option);

并且在任何 switch 函数中,您都可以在默认选项数组上使用 foreach 循环。

为所有主题的所有选项使用唯一名称。例如,对于主题 pingpong,使用像 pingpong_homepage 这样的前缀。

【讨论】:

  • 我认为这对我有用!感谢您的意见!
猜你喜欢
  • 2018-01-09
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-05
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
相关资源
最近更新 更多