[英]How can I avoid Wordpress theme upgrades changing my parent themes functions.php?
[英]How can I maintain my settings when switching Wordpress themes?
我目前正在开发一系列Wordpress主题。 这些主题都需要具有自定义主题选项,并且它们都具有自定义主题选项页面。 但是,某些主题具有其他主题未使用的选项。
当我切换主题,在新主题上自定义主题选项并保存选项时,我注意到该主题未使用的所有选项都将丢失,并且切换回时必须重置。 有没有办法确保这些选项保留在数据库中,即使当前活动主题没有使用这些选项?
您可以通过几种功能来维护主题的选项。
激活主题后,就会有一个名为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);
并且在任何切换功能中,都可以在默认选项数组上使用foreach循环。
为所有主题的所有选项使用唯一的名称。 例如,对于主题pingpong
,请使用诸如pingpong_homepage
类的前缀。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.