WordPress 媒體上傳錯誤總彙
WordPress 使用時發生的較多的情況就是上傳媒體 (圖片) 是發生的一些錯誤,這裏我們總結一下這些錯誤,以及應對方法:
1. 症狀:WordPress 編輯文章時,點擊 「添加媒體」 按鈕無反應
原因:更具 WordPress 官方的解釋, WordPress 為了提高效率要求你所有的 js 要集中到一起,那麼如果主題或者插件集成了某些 js 文件,可能會在加載順序上造成一定的阻塞,取消這個功能即可正常 (不會影響你的前端加載,只是針對後台)
解決方法:使用 ftp 進入你的網站根目錄,找到 wp-config.php 這個配置文件,添加如下代碼即可關閉集中,解決問題:define('CONCATENATE_SCRIPTS', false );
2. 症狀:WordPress 文章編輯點擊添加媒體時,媒體庫圖片加載不出來 (一直轉圈),並且上傳圖片顯示 「發生錯誤,無法上傳」,而實際上以及上傳成功,但是在外觀--多媒體中可以顯示所有圖片,並可以正常上傳。
原因:我們幫助多個用户修復過這個問題,總結之後可以發現,在後台源代碼中<!DOCTYPE html> 的頂部出現別的代碼 (最上面),這樣一般是由於主題或者插件加載樣式文件 (css) 、腳本文件 (js) 錯誤,或者是由於用户自己修改或者添加代碼錯誤造成的,這樣會造成不符合 W3C 標準,因此一些功能會受到限制
解決方法:如果自己修改過主題或者插件文件,可以重新安裝主題,重新安裝插件即可,也可以重新安裝 WordPress 解決這個問題。
WordPress 登陸後台出現提示 「Cookies 被阻止」,或者還沒有輸入賬號密碼就顯示 「賬號密碼錯誤」,不能登陸
這個問題我們在幫助用户解決時,發現出現的最多的 (基本上都是) 是購買的萬網的主機,原因是萬網的主機默認關閉了輸出緩衝區數據塊,一般來説,登陸主機管理後台--主機環境管理--高級管理中,將輸出緩衝區數據塊設置為開啓即可,如圖:

若是安裝了 WEB 主題公園所出品的購物盒子插件,設置好前端登陸之後出現這個問題,一般是 php 版本低於 5.3,在虛擬主機選擇 5.3 以上的 php 版本即可 (這個問題也是萬網的主機出現的最多的)
WordPress 主題安裝之後和演示的效果不一樣
市面上現在絕大分部主題安裝之後,所呈現的樣子都和演示的效果網站和效果圖不一樣,基本上是空的,這個是正常的現象,因為主題只是網站的前端展示方式,而展現的內容是需要後台設置的內容支持的,並且新裝主題有很多設置需要設置之後才能夠顯現。
若主題支持導入數據和圖片數據,那麼通過導入數據之後,就可以和演示效果一樣了,新開發的一些主題提供了這個服務,若你感興趣可以瞭解。
WordPress 設置菜單時,點擊菜單頁面右上角的 「顯示選項」 無法展開
這個是由於 WordPress4.2 之後中文版造成的 bug,可以使用一下方案解決 (任選其一解決):
1. 將修復文件覆蓋,
2. 在外觀中打開自定義,點擊自定義左側的 「菜單選項」,點擊齒輪按鈕,即可看到顯示選項中的內容,勾選即可
3. 在設置--常規中,將語言設置為英文,回到菜單即可打開顯示選項,勾選所有選項之後回到設置--常規切換語言為中文即可
WordPress 更新、 WordPress 主題或者插件更新時卡住,前台後台均顯示 「正在執行例行維護, 請一分鐘後回來」

出現這個問題可以稍微等一下,若等待 1 分鐘之後還沒有效果,請使用 ftp 進入網站文件管理根目錄,找到文件 .maintenance,刪除即可顯示正常。
有時候也會發現這個文件並不存在 (nginx 平台上出現過),那麼你可以新建一個 txt 文件,命名為 1.txt,上傳至服務器,將文件名改為 .maintenance,上傳之後刷新 ftp,會發現文件消失了,再回到網站刷新即可顯示正常。
WordPress 設置菜單時,若菜單項目過多導致菜單無法保存
這是由於一般的服務器或者虛擬主機的 php 設置只允許 1000(含 1000) 以下的變量提交,因此如果菜單設置的項目太多,就會導致新增加的項目無法保存,修改的內容頁無法保存。
解決方法可以是設置較少的菜單項目,分散這些鏈接到網站的其他的地方,若一定要設置大量的菜單,可以通過修改 php.in,修改提交變量的數量:
打開服務器的 php.in,找到以下語句:
;How many GET/POST/COOKIE input variables may be accepted
max_input_vars = 1000
將 1000 改為 5000 即可
電腦上傳一張全屏通欄的焦點圖,在筆記本上查看,兩邊的內容超出看不見了
這也是一個非常常見的誤區,這是由於網頁設計的特性,一般來説全屏輪播的焦點圖都是居中的背景圖片,一般要求我們做到最大的 1920 分辨率,所以上傳的圖片是 1920 像素,而現在兼容最小分辨率是 1024,因此我們的主要內容都要放在 1024 分辨率中。
進入後台,點擊任意或者個別選項,顯示 File not found 錯誤提示或者 404 頁面
如果出現了上述情況,請檢查一下你的瀏覽器上的 url,比如我進入文章--所有文章,正常方式是 http://www.xxx.com/wp-admin/edit.php
出現的錯誤會丟失一段路徑,顯示為 http://www.xxx.com/edit.php
這樣就會造成 404 或者 File not found. 的錯誤,而無法操作後台了,這個錯誤一般是 LNMP 環境下會出現,解決方法也比較簡單:
在/usr/local/nginx/conf/WordPress.conf 文件進行修改:
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
紅色部分為添加的代碼,添加完成之後重啓 lnmp 就可以解決缺少 wp-admin 路徑問題。
使用 smtp 插件發送郵件的服務無法發送
我們推薦使用 WP-Mail-SMTP 插件,使用 qq 郵箱進行發送郵件 (找回密碼、留言提醒等等功能需要發件功能),若是使用 qq 郵箱發送郵件無法成功你需要注意以下工作是否做好了:
1.qq 郵箱中是否設置開啓了 POP3/SMTP 服務,查看方法是,在 qq 郵箱的設置--賬户找到 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服務這一選項,勾選開啓 POP3/SMTP 服務,會提示你使用手機驗證,並提供給你一條授權碼,複製授權碼到記事本,在 WordPress smtp 插件中的密碼選項中填寫 (現在 qq 郵箱新開的不能 填寫密碼了,要填寫授權碼,以前設置成功的不受影響)
2. 你的服務器是否安裝並開啓了 openssl 模塊,目前幾乎所有提供 smtp 服務的第三方郵箱都是使用 ssl 加密方式,若你的服務器沒有安裝或者沒有開啓 openssl 的話,也是無法發送郵件的。下面給你一個方法檢測你的服務器或者虛擬主機是否安裝並開啓了 openssl:
1. 下載這個文件 【點擊下載】,解壓後將 phpinfo.php 上傳到你的網站根目錄,並使用你的域名/phpinfo.php 訪問
2. 在瀏覽器上按下鍵盤組合鍵 ctrl+f 進行搜索,一般下面會出現一個搜索框,搜索 openssl,若找到如下圖的信息,那麼就是安裝並開啓了 openssl,若找不到或者與下圖不一樣,那麼就是沒有安裝好或者沒有開啓,那麼你需要聯繫你的服務器商解決一下這個問題:

升級 WordPress 、或者升級 WordPress 主題、插件等出現無法安裝這個包 Missing archive file 'C:\WINDOWS\TEMP/homemagic-DxmO8U.tmp'的提示
診斷:這是由於你的服務器或者虛擬主機的文件目錄權限所造成的,WordPress 更新主程序、插件、主題時,需要將升級安裝包下載到一個臨時文件夾,如果臨時文件夾因為目錄的權限無法建立,那麼就會出現這個問題。
解決:vps 或獨立服務器可以直接通過設置相應臨時目錄的權限來解決這個問題;而使用虛擬主機的站長,可以創建一個 temp 目錄,並設置目錄權限為可寫。
虛擬主機:在 WordPress 程序根目錄,編輯 wp-config.php 文件,找到以下代碼:
/** WordPress 目錄的絕對路徑。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
修改為
/** 指定 WordPress 的臨時目錄 */
define('WP_TEMP_DIR', ABSPATH . 'wp-content/temp');
然後在 wp-content 文件夾下新建個 temp 文件夾,設置目錄權限可讀寫, 即可解決這一問題。