如何在更改主题时保留页眉图像

时间:2012-08-09 作者:Tonny Jørgensen

我们有一个设置,博客可以并且将改变他们的主题。是否可以将现有标题图像迁移到新主题?我知道如何用add\\u过滤器覆盖标题图像,也知道如何获取当前标题图像。这里的问题是在更改主题时保留标题图像。这可能吗?

3 个回复
最合适的回答,由SO网友:Tonny Jørgensen 整理而成

我们做了一个小的mu插件来解决我们的问题。

这是代码

add_action(\'pre_update_option_stylesheet\', \'phi_pre_update_option_stylesheet\');
add_action(\'switch_theme\', \'phi_switch_theme\');

function phi_pre_update_option_stylesheet($stylesheet)
{
    update_option(\'previous_header_image_saved\', get_theme_mod(\'header_image\'));

    return $stylesheet;
}

function phi_switch_theme()
{
        if (get_option(\'previous_header_image_saved\')) {
                set_theme_mod(\'header_image\', get_option(\'previous_header_image_saved\'));
            delete_option(\'previous_header_image_saved\');
    }
}

SO网友:amit

下面是要解救的插件,将代码移动到插件中并激活。这不会在每次主题更改时更改标题图像。

E、 g级-

<?php
/*
Plugin Name: keep header always
*/

// Your code to keep header image

?>
另存为whatever-foo.php 上载到/wp-content/plugins/ 目录并激活它

SO网友:fuxia

标题图像是根据…

set_theme_mod( \'header_image\', $choice[\'url\'] )
…的包装器…

update_option( \'theme_mods_\' . get_option( \'stylesheet\' ), $value );
这样你就可以…

\'pre_update_option_theme_mods_\' . get_option( \'stylesheet\' )
…获取第一个参数,它是所有主题mod的数组,并保存键的值\'header_image\' 在插件选项中。钥匙\'header_image_data\' 存储该图像的元数据。

然后筛选\'theme_mod_header_image\' 如果没有图像集,则返回存储的插件选项。

结束

相关推荐

Wordpress Child Themes

我试图在wordpress子主题中重新声明父主题已经在使用的函数。但是,在尝试执行此操作时,我收到一条“致命错误:无法重新声明”消息。此外,我尝试使用以下方法,但没有成功:if (!function_exists(\'jr_load_scripts\')) { // do fancy things here... } 这是the link 如果您想快速查看。。。EDIT: 以下是完整代码:if (!function_exists(\'jr_load_scripts\')) {