有個朋友咨詢我關(guān)于wordpress的問題,,他最近建了個新站,放在那里很久沒動了。最近想改版,,然后發(fā)現(xiàn)更新頁面或者發(fā)布文章的時候出現(xiàn)問題,提示:發(fā)布失敗,,此響應(yīng)不是合法的JSON響應(yīng),;并且在發(fā)布文章的時候,那些欄目,、專題等列表都沒數(shù)據(jù),。有些同學(xué)此時此刻就有點蒙蔽了,為什么會這樣呢,?
問題解析
單從這個提示上去看,,去定位問題,會有些棘手,。我們需要一步步去發(fā)現(xiàn)問題,。
1、檢查數(shù)據(jù)庫是否有問題
因為欄目和專題列表沒數(shù)據(jù),,可以在寶塔里測試下,。
2、檢查編輯器
在網(wǎng)上可以查閱到,,很多同學(xué)說是編輯器有問題,,方法是:搜索安裝插件“Classic Editor”,啟用 并使用默認設(shè)置就行,。
也可以這樣做:
禁用WordPress古騰堡編輯器代碼,,在主題的 functions.php 文件添加下面的代碼:
- //Wordpress 5.0+ 禁用 Gutenberg 編輯器
- add_filter('use_block_editor_for_post', '__return_false');
- remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
大家也可以去試試,操作如圖:
3,、防火墻
檢查下您的防火墻是否有打開,,或者有什么特殊的設(shè)置,。
4、偽靜態(tài)問題
這個是非常重要的啊,,因為wordpress現(xiàn)在都是采用偽靜態(tài)的方法,,所以你需要檢查下你否已經(jīng)配置好偽靜態(tài)的功能,接下來分享下如何搞,。
如果您不是在寶塔面板上操作,,可以進行如下操作:
- 若使用Nginx訪問則修改conf下對應(yīng)vhost下的子站域名conf文件,在server最后一個} 前加入配置:
- rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
- if (-f $request_filename){
- set $rule_2 1;
- }
- if (-d $request_filename){
- set $rule_2 1;
- }
- if ($rule_2 = “1”){
- #ignored: “-” thing used or unknown variable in regex/rew
- }
- rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
- rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
- rewrite /. /index.php last;
如果您在用寶塔面板維護的話,,這個就很簡單的了,,直接打開寶塔,點擊網(wǎng)站,,然后選擇:偽靜態(tài) > wordpress,。下面就會生成偽靜態(tài)代碼。然后保存即可,。具體如下圖: