最近接到兩個項目分別是要將西班牙語和德語本土化到中國,漢化以后放到中國服務(wù)器上,需求咋一看簡直太簡單不過了,但是沒想到的是期間遭遇了不少麻煩,所幸一一得到了解決,簡單記錄過程如下,給后人方便。
先講一下這個西班牙語網(wǎng)站,后臺安裝了非常多的插件,比如WPML多語言化,比如一些西班牙本土的插件:Functions Boxcom 等,咋一看也沒覺得有什么難的,對方提供的是通過 UpdraftPlus – Backup/Restore 此插件后臺導(dǎo)出的網(wǎng)站文件和數(shù)據(jù)庫數(shù)據(jù),拿到數(shù)據(jù)后,搭建數(shù)據(jù)起初都波瀾不驚,感覺沒什么難度,只不過數(shù)據(jù)庫導(dǎo)入,wp-config.php配置好以后,發(fā)覺死活無法進入后臺,總是提示Not available,于是想到了,可能是插件兼容問題導(dǎo)致的,于是開啟了debug,的確有提示幾條報錯,但是沒有實質(zhì)性的作用,于是干脆把整個plugins目錄更改為plugins1,發(fā)現(xiàn)可以進入后臺了,但是進入了后臺以后還是傻眼了,一堆報錯,好些插件壓根無法啟動,設(shè)置很奇怪的是,連后臺的語言都無法重設(shè),始終是西班牙語,我干脆把WPML插件關(guān)閉了,但是語言還是西班牙語,最后我都有點懷疑人生了,所幸這點難題還是嚇不倒我的,于是我想到了可能是WPML這個插件搞的鬼,往WP options里邊寫入了語言的選項,讓W(xué)P后臺無法更改語種,于是我進入WPML的debug里邊對整個插件進行了徹底的重置,至此后臺終于呈現(xiàn)了久違的中文,只是這個項目的漢化還會經(jīng)歷很多的問題,不在此教程中過多贅述。
另外一個德語的項目也遇到了類似的問題,不過要相對簡單不少,德語這個項目也是通過后臺的 UpdraftPlus – Backup/Restore 插件導(dǎo)出了所有的數(shù)據(jù),搭建在了我們自己的服務(wù)器以后,也是死活進不了后臺,經(jīng)研究發(fā)現(xiàn)問題在于數(shù)據(jù)庫里邊的表前綴不是默認的wp_導(dǎo)致管理員的權(quán)限無法獲取,至此我基本搞懂了原有,是因為 UpdraftPlus 插件導(dǎo)出的數(shù)據(jù)庫對前綴的支持出現(xiàn)了一些兼容問題,于是我嘗試通過直接往mysql里插入固定的值,使得對應(yīng)的user重獲管理員權(quán)限,操作方法如下:
進入Phpmyadmin執(zhí)行以下SQL腳本:
INSERT INTO `databasename`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('4', 'demo', MD5('demo'), 'Your Name', '[email protected]', 'http://www.test.com/', '2011-06-07 00:00:00', '', '0', 'Your Name'); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}'); INSERT INTO `databasename`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '4', 'wp_user_level', '10');
我們假設(shè)是需要添加一個user_id
為4的管理員,在wp_usermeta
中賦予他一個wp_capabilities
為a:1:{s:13:"administrator";s:1:"1";}
,同時再賦予一個wp_user_level
為10,至此再用這個用戶登錄的時候會發(fā)現(xiàn)已經(jīng)成功登錄到了管理后臺,當然以上SQL腳本也可以通過DMS這種數(shù)據(jù)庫管理軟件來操作如下:
至此完美解決了用戶無法登錄后臺的問題。