WordPress主题激活挂钩?

时间:2013-02-16 作者:TheWebs

我知道很多窍门,看看这个主题是否被激活,我已经在互联网上搜索过了。我不想重新粘贴该代码。我想知道的是天气与否3.3-3.5发布了一个新的函数,可以在theme\\u init上做一些事情,我看到了一些挂钩,但我不记得在codex中,在主题初始化后在哪里处理事情。。

有人知道吗?

4 个回复
最合适的回答,由SO网友:birgire 整理而成

您可能正在寻找after_setup_theme 挂钩:

http://codex.wordpress.org/Plugin_API/Action_Reference/after_setup_theme

SO网友:sleepingkiwi

对于任何在这个问题上绊倒的人;您可以挂接一个操作(添加了3.3.0),该操作仅在激活新主题时触发:after_switch_theme

add_action(\'after_switch_theme\', \'mytheme_setup_options\');

function mytheme_setup_options () {
  //doing a thing...
}

http://codex.wordpress.org/Plugin_API/Action_Reference/after_switch_theme

要在停用主题时执行操作,可以使用姐妹操作:switch_theme

SO网友:Mark Kaplun

有了主题预览功能,就不太可能有主题激活挂钩,因为即使没有“激活”,主题也需要工作。

SO网友:Sagive

在尝试了@sleepingkiwi方法后,我遇到了一个问题。客户机可能会尝试不同的主题(即使只是片刻),这可能会产生问题,因为我们创建的“主题激活”挂钩运行了两次。

最好的方法是将after\\u switch\\u主题与Wordpress的“update\\u option”配合使用,以保存并稍后检查激活通知,使此方法成为防弹的方法。

示例:

add_action(\'after_switch_theme\', \'sgx_activation_hook\');
function sgx_activation_hook() {
    if(get_option(\'SOMEPREFIX_theme_activated\') != \'1\') {

        update_option( \'SOMEPREFIX_theme_activated\', \'1\' );

        // RUN THEME_ACTIVATION STUFF HERE

    }
}
希望这有帮助。

结束

相关推荐

当我尝试使用社交插件时,为什么会收到“对未定义函数curl_init()的调用”?

我有一个wordpress博客http://www.1000irritatingthings.com我让sociable插件工作了一段时间,但现在当我尝试配置它时,当我选择sociable classic时,在管理面板中出现以下错误:Fatal error: 调用中未定义的函数curl\\u init()D:\\(WEBSITES)\\1000irritatingthings.com\\www\\wp-content\\plugins\\sociable\\includes\\sociable_outpu