wordpress網站在php版本升級后,訪問時出現錯誤,錯誤提示顯示為自動截取一段文章部分出錯,出錯的原因是因為mb_strimwidth和strip_tags的問題。要解決這個問題,先根據出錯提示,找到出錯的文件,在該文件中搜索“mb_strimwidth”找到這個對應的代碼,如:

mb_strimwidth(strip_tags(apply_filters('the_content',$post->post_content)),0,200,'...');

把這個代碼中的

“mb_strimwidth”改成“wp_trim_words”

“strip_tags”改成“wp_strip_all_tags”

最終修改后的代碼如下

wp_trim_words(wp_strip_all_tags(apply_filters('the_content', $post->post_content)),100,'...');

或者直接用下面的代碼整體替換上面的代碼也可以

不同主題涉及到的具體文件不一樣,簡站wordpress主題不同主題涉及這個問題的文件大致有以下幾個部分:

頂部模板文件:header.php描述中調用截取內容的部分

首頁模板文件:index-product.php、index-news.php、index-case.php等分類目錄在首頁調用時,用到截取一部分內容顯示的部分

分類目錄模板文件:category.php、category-news.php、category-product.php等其它分類目錄模板文件中用到截取一部分內容顯示的部分

搜索結果模板:search.php模板中截取一部分內容顯示的部分

標簽模板:tag.php模板中截取一部分內容顯示的部分

在以上文件中找到“mb_strimwidth”相關的代碼,按前面的方法替換成對應的代碼就可以解決

說明

100為字符數,可根據自己顯示位置的實際需求修改數值

…為內容后面的省略號,如果不需要顯示,可以直接刪除把’…’改成”