我目前正致力于开发一系列Wordpress主题。这些主题都需要具有自定义主题选项,并且它们都将具有自定义主题选项页面。但是,某些主题具有未在其他主题中使用的选项。
当我切换主题,自定义新主题的主题选项并保存选项时,我注意到该主题未使用的所有选项都会丢失,而当切换回来时,必须重置。有没有办法确保这些选项保留在数据库中,即使它们没有被当前活动主题使用?
答案 0 :(得分:0)
您可以使用多种功能来维护主题选项。
当激活主题时,会有一个名为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
的前缀。