wp_is_valid_utf8未定义 - WordPress 6.9.1

编程语言 2026-07-12

我最近在本地机器上手动更新我的WordPress网站,结果因为一个未定义函数错误而崩溃。我检查了 wp-includes 目录下的 utf8.php,确实定义了新的函数 wp_is_valid_utf8。它依赖mbstring的启用,因此我检查过,该模块已启用。我使用的是带Apache的 PHP 8.2。

我多次删除了整个 wp-includeswp-admin 文件夹,并重新复制新副本,未做任何改动。不幸的是,我没有足够新的备份来在这里回滚。

请查看下面的完整错误信息(为保护隐私,某些路径已隐藏):

致命错误:未捕获的错误:调用未定义的函数 wp_is_valid_utf8(),出现在 /(sites folder)/wp-includes/formatting.php第 2287行 堆栈跟踪:

0 /(sites folder)/wp-includes/class-wp-taxonomy.php(378): sanitize_title_with_dashes('category_name')

1 /(sites folder)/wp-includes/class-wp-taxonomy.php(290): WP_Taxonomy->set_props('post', Array)

2 /(sites folder)/wp-includes/taxonomy.php(532): WP_Taxonomy->__construct('category', 'post', Array)

3 /(sites folder)/wp-includes/taxonomy.php(63): register_taxonomy('category', 'post', Array)

4 /(sites folder)/wp-settings.php(513): create_initial_taxonomies()

5 /(sites folder)/wp-config.php(129): require_once('/(user folder)...')

6 /(sites folder)/wp-load.php(50): require_once('/(user folder)...')

7 /(sites folder)/wp-blog-header.php(13): require_once('/(user folder)...')

8 /(sites folder)/index.php(17): require('/(user folder)...')

9 {main} thrown in /(sites folder)/wp-includes/formatting.php on line 2287

解决方案

此错误通常发生在WordPress核心文件来自不同版本时混用。即使 utf8.php 中存在 wp_is_valid_utf8(),但在 formatting.php 调用它之前,定义它的文件可能没有被加载。

这通常发生在某些文件来自较新版本的WordPress,其他文件来自较旧版本,或者发生了不完整的手动更新。

wp_is_valid_utf8() 是在WordPress 6.5中引入的,因此如果 formatting.php 期望它,但加载顺序或其他核心文件较旧,就会出现正是这样的错误。

请进行一次完整的WordPress核心替换,除了你的内容和配置。

从官方网站下载WordPress的最新版,上传新的副本,并且仅复制 wp-adminwp-includes,然后替换根目录的核心文件

index.php
wp-activate.php
wp-blog-header.php
wp-comments-post.php
wp-config-sample.php
wp-cron.php
wp-links-opml.php
wp-load.php
wp-login.php
wp-mail.php
wp-settings.php
wp-signup.php
wp-trackback.php
xmlrpc.php

但不要替换

wp-config.php
wp-content/
.htaccess

如果 wp-settings.php 过时,可能会以不同的顺序加载文件,导致在需要时 wp_is_valid_utf8() 从未被定义。

如果仍然发生,那么OPCache可能在缓存旧文件,或者有一个插件非常早地加载并包含了旧的formatting文件,或者上传的文件损坏,或者同一目录中混合了多个WordPress安装。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章