wp数据库还原/迁移后,WP Customizer主题设置消失

我正在尝试迁移具有定制程序定制主题的现有wordpress。我可以启动并运行wordpress, 但是所有主题定制都消失了。我将问题缩小到定制程序和数据库中的wp-options表。每当我访问/重新加载网站时, 都会重置选项theme_mods_ {theme-name}的option_value。如果我通过定制器进行更改, 它们确实会出现, 但是如果我在数据库中更改option_value的值, 则会删除整个主题定制。
我正在使用IIS上托管的wordpress, 数据库是MySql 5.x(不知道确切的版本)。
#1好的, 我已经面对这个问题一段时间了, 终于解决了。这个答案使我步入正轨:在服务器上上传WordPress网站时显示默认主题
迁移时, 你可能使用查找和替换通过SQL文件更改了URL。问题是wp_options表中的theme_mods_ {theme-name}条目被编码为具有以下格式的对象:type:length:value因此, 更改一个选项的值时, 你也可以更改其长度。如果长度与值不匹配, WP将认为该对象无效, 并将选项重置为默认值a:1:{s:18:” custom_css_post_id” ; i:-1; }, 从而破坏菜单和其他自定义选项选项。
例子:
在本地主机上工作:

a:4:{s:18:” custom_css_post_id” ; i:-1; s:18:” nav_menu_locations” ; a:5:{s:6:” menu-1″ ; i:1120; s:6:” menu-2″ ; i:1125; s:8:” top-menu” ; i:1120; s:8:” footer-1″ ; i:1120; s:8:” footer-2″ ; i:1125 ; } s:9:” my_option” ; s:29:” Lorem ipsum” ; s:15:” posts_row_image” ; s:32:” http://localhost/lorem/dolor.png” ; }
在远程服务器上无效:
a:4:{s:18:” custom_css_post_id” ; i:-1; s:18:” nav_menu_locations” ; a:5:{s:6:” menu-1″ ; i:1120; s:6:” menu-2″ ; i:1125; s:8:” top-menu” ; i:1120; s:8:” footer-1″ ; i:1120; s:8:” footer-2″ ; i:1125 ; } s:9:” my_option” ; s:29:” Lorem ipsum” ; s:15:” posts_row_image” ; s:32:” http://mydistantwebsite.com/lorem/dolor.png” ; }
【wp数据库还原/迁移后,WP Customizer主题设置消失】更正了长度, 可以在远程服务器上工作:
a:4:{s:18:” custom_css_post_id” ; i:-1; s:18:” nav_menu_locations” ; a:5:{s:6:” menu-1″ ; i:1120; s:6:” menu-2″ ; i:1125; s:8:” top-menu” ; i:1120; s:8:” footer-1″ ; i:1120; s:8:” footer-2″ ; i:1125 ; } s:9:” my_option” ; s:29:” Lorem ipsum” ; s:15:” posts_row_image” ; s:43:” http://mydistantwebsite.com/lorem/dolor.png” ; }

    推荐阅读