仅挂钩一次的主题操作功能

时间:2018-03-25 作者:sazr

我正在开发一个自定义主题。在我的主题被激活/安装后,我需要运行一个一次性功能来设置一些选项。为实现这一点,什么是最好的挂钩操作?

我应该使用after_setup_theme? 我的理解是,每次加载页面时都会触发此事件/操作,因此我认为不应该正确使用此操作?

*Ps:最好将此代码放在我的函数中。php文件还是其他地方?(我正在使用下划线主题模板)。

2 个回复
SO网友:Mark Kaplun

没有“主题激活”这样的事情。使用自定义程序,您可以更改服务器上任何主题的设置,无论其是否处于“活动”状态,但在该上下文中,主题将处于活动状态,如果您的代码在该上下文中无法正常工作,用户可能会感到不安。

如果需要为主题构建DB,只需存储一个版本指示,并在当前版本预期与实际版本之间存在版本不匹配时,使用其中一个可用挂钩来执行DB升级。但是要小心,从你的另一个问题来看,你想要创建前端帖子,并且只有当用户明确发起操作时才应该这样做。

SO网友:Friss

也许你可以试试这种不太干净的方法:)

    add_action(\'after_setup_theme\',\'oneTimeStuffUponThemeSwitch\');

    function oneTimeStuffUponThemeSwitch()
    {
        if (is_admin())
        {
            global $pagenow;

            if(isset($_GET[\'activated\']) && $pagenow == "themes.php")
            {
                //your custom code
            }
        }
    }
是的,您是对的,此操作会在每次页面加载时触发,但是该函数会检查您是否正在激活主题,以便您只执行一次自定义。是的,您可以将其粘贴到函数中。php文件。

结束

相关推荐

Responsive Admin Themes

我在看这个管理主题的示例(http://themepixels.com/main/themes/demo/webpage/shamcey/dashboard.html). 至于标签为“Navigation”的左侧管理栏,有没有一种方法可以在不使用插件的情况下实现这种类型的左侧仪表板管理菜单?我想用css、js或Jquery来实现这一点,任何处理编码的东西都可以。