将旧的GET_THEME_MOD($name)与新的Get_Theme_mod($NAME)返回值进行比较

时间:2015-05-31 作者:5ervant - techintel.github.io

我想在代码中进行这种验证:

if (/*OLD*/get_theme_mod($name) != /*NEW*/get_theme_mod($name)) {
    // do something..
}
按中的“保存和发布”按钮后,将执行该代码Appearance -> Customize 主题的。有没有正确的方法来实现这一点?

1 个回复
最合适的回答,由SO网友:5ervant - techintel.github.io 整理而成

我找到的解决方案之一是存储集合get_theme_mod($name) 进入PHP$_SESSION["$name"]. 如果会话存在,请比较新的get_theme_mod($name) 给那个老人$_SESSION["$name"], 如果他们不一样的话// do something..:

// Check if the user is an admin for validation to improve performance.
if (current_user_can( \'manage_options\' )) {
    session_start();

    // If the session is not set, the OLD is not equal to the NEW.
    if (!isset($_SESSION[\'theme_mod_name\']) {
        // do something..

        $_SESSION[\'theme_mod_name\'] = get_theme_mod(\'theme_mod_name\');
    } else {
        $theme_mod_name   = get_theme_mod(\'theme_mod_name\');
        $theme_mod_name_s = $_SESSION[\'theme_mod_name\'];

        // Check if the OLD is equal to the NEW.
        if ($theme_mod_name !== $theme_mod_name_s) {
            // do something..

            // Override the existing session for future validation.
            $_SESSION[\'theme_mod_name\'] = get_theme_mod(\'theme_mod_name\');
        }
    }
}
但它有一个小缺点,管理员需要访问自己的网站或执行refresh 正在设置传输以执行验证。

结束

相关推荐

当有评论时,只在Single.php的页脚中有奇怪的空格吗?

我有一个weird problem 我不知道发生了什么。我真的希望这里的人能有线索,否则我就不知道该怎么办了。所以,我的页脚有一个奇怪的空格,就像这样:我已经做了很多测试,以下是我目前得到的结果:这ONLY happens in the single.php 当已经有评论时。这不会发生在任何其他页面或单曲中。php无注释。当有多个页面有注释时,也不会发生这种情况。好的,更多的测试。这似乎只发生在少数单曲上。php页面。我还不知道这些文章有什么其他文章没有的。可以肯定的是这篇文章:http://zoomin