wordpress主题中的错误(formatting.php)

时间:2015-11-17 09:40:03

标签: php wordpress

当我在主页上打开我的网站时,我只看到标题并出现此错误:

  

捕获致命错误:无法转换类WP_Error的对象   在/home/mahooorc/public_html/wp-includes/formatting.php中输入字符串   第3275行

这个问题就在我的主页上,其他链接都可以。我禁用了所有插件,但它没有回答!第3275行是

$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);

    function esc_url( $url, $protocols = null, $_context = 'display' ) {
    $original_url = $url;
    if ( '' == $url )
        return $url;
    $url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@$\|*\'()\\x80-\\xff]|i', '', $url);

2 个答案:

答案 0 :(得分:0)

esc_url()函数不接收预期的$ url作为字符串,而是接收WP_Error对象。

尝试在错误行之前添加此代码以了解有关错误的更多信息:     echo $ url-> get_error_message(); 它将显示错误消息,可以帮助您了解它的来源。

请记住在此之后删除此添加的行。

有相同问题的人经常谈论编码问题。你使用特殊编码吗?

答案 1 :(得分:0)

这通常是由菜单中使用的缺少分类法引起的,但不再存在。

您可以尝试使用几种解决方案,但不要忘记在尝试任何文件和数据库之前始终创建备份文件和数据库。

方法1

  1. 从菜单中删除分类项目
  2. 删除所有会话数据,Cookie等......
  3. 方法2

    1. 在数据库中找到表wp_term_taxonomy
    2. 查找名为nav_menu
    3. 的记录
    4. 删除该记录
    5. 方法3

      1. 在数据库中找到表wp_terms
      2. 查看不同的术语并决定哪些不需要
      3. 删除不再需要的字词
      4. 如果这些解决方案或解决方案的组合都不起作用,请告诉我们。你还有更多的选择,但那些更具破坏性。