惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
酷 壳 – CoolShell
酷 壳 – CoolShell
WordPress大学
WordPress大学
小众软件
小众软件
博客园 - 司徒正美
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - Franky
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
雷峰网
雷峰网
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler
I
InfoQ
The GitHub Blog
The GitHub Blog
有赞技术团队
有赞技术团队
The Cloudflare Blog
罗磊的独立博客

秋水逸冰

丽萨主机:双ISP家宽住宅IP VPS/CN2 GIA精品网/G口大带宽 | 秋水逸冰 Linux Kernel 6.18.x 编译版 | 秋水逸冰 思考未来人与 AI 的关系 | 秋水逸冰 3X-UI 面板安装和使用教程 | 秋水逸冰 Xray-UI 面板安装和使用教程 | 秋水逸冰 WCMP (Windows + Caddy + MariaDB + PHP) Nginx for Windows | 秋水逸冰 Aria2 for Windows | 秋水逸冰 Curl for Windows | 秋水逸冰 Wget for Windows | 秋水逸冰 Windows 11 Enterprise LTSC DD 镜像 Windows Server 2025 Datacenter DD 镜像 重新编译 curl 以支持 HTTP3 | 秋水逸冰 tiny10 和 tiny11 23H2 的 Windows DD 镜像 从 Apache httpd 切换到 Caddy2 LCMP (Linux + Caddy + MariaDB + PHP) Windows 11 Pro for Workstations 22H2 DD 镜像 Shadowsocks 编译版 by Teddysun | 秋水逸冰 适用于 UEFI 启动的多个 Windows 系统 DD 镜像 Linux Kernel 5.15.x 编译版 | 秋水逸冰 制作适用于 WSL 的任意 Linux 镜像 Windows 11 Pro for Workstations 21H2 DD 镜像 Windows 10 Enterprise LTSC DD 镜像 Linux Kernel 5.14.x 编译版 | 秋水逸冰 Linux Kernel 5.13.x 编译版 | 秋水逸冰 Windows Server 2022 Datacenter DD 镜像 在 Windows 10 上安装 Rocky Linux 系统 Linux Kernel 5.12.x 编译版 | 秋水逸冰 Linux Kernel 5.11.x 编译版 | 秋水逸冰 在 Windows 10 上安装 CentOS 系统
wordpress更换主题报错解决方法 | 秋水逸冰
秋水逸冰 · 2013-03-17 · via 秋水逸冰

技术 秋水逸冰 19567浏览 3评论

  这两天在折腾主题,有时候觉得这个好看有时候觉得那个好看,于是就换来换去的。这不就换出问题了。
  在一次换回原主题的过程中,浏览器界面卡住不动,再一刷新就出现了http500内部服务器错误。第一感觉就是当前切换的主题出问题了,进而导致整个网站前台和后台都进不去了。
  解决方法有2种,推荐第1种,比较简单:
  1、通过FTP软件(虚拟主机一般就只有FTP)进入网站的主题目录wp-content/themes,把切换的那个有问题的主题文件夹改名即可重新进入WordPress后台。进入后台会遇到提示,主题目录被破坏恢复到默认主题。
  2、通过修改数据库解决。登录phpMyadmin,找到安装wordpress的数据库,执行下面的SQL语句(wp_options中的wp是数据库前缀,改为当初安装时设定的;twentytwelve是举例的主题名称,改为切换时出问题的主题名称):

SELECT * FROM `wp_options` WHERE `option_value` = 'twentytwelve' LIMIT 0 , 30;

  一般出现3行结果,option_name分别是template、stylesheet、current_theme,修改为没出问题的主题名称即可。

  这时候网站已经恢复到默认主题(即一开始安装完wordpress后系统自带的三款主题之一),我开始找主题的原因。
  打开Apache的error_log文件,找到如下的错误信息:

[Sat Mar 16 21:26:27.637761 2013] [:error] [pid 1100] [client 180.108.184.166:56042] PHP Fatal error: Cannot redeclare remove_more_jump_link() (previously declared in /data/www/default/wp-content/themes/zbench/functions.php:43) in /data/www/default/wp-content/themes/zbench/functions.php on line 486, referer: https://teddysun.com/wp-admin/themes.php

  出现PHP致命错误是因为一个函数remove_more_jump_link的重申明出现错误。原来,是我当初在主题的functions.php里加了一些自定义的代码来优化显示效果,比如去除wordpress的链接含有more-link,自定义后台登录界面等。我在默认主题twentytwelve中添加了这几个函数后,再切换到别的主题,wordpress会自动将这些自定义的函数添加到新主题的functions.php中。然后我又重新将这几个函数添加到新主题中,进而导致函数名重复,出现PHP致命错误。
  原因找到了就容易解决了。将自己添加的那些函数全部删除后,切换主题恢复正常。
  出现这次故障的问题虽然解决了,但还是有不少地方需要在将来注意的。
  1、主题一般是不能随意切换的,固定使用一款主题后,最好是在这款主题的基础上修修改改或者安装插件,因为插件不可能兼容于所有主题;
  2、写文章时,一定要统一风格,最好不要过多使用一些自定义的html标签;
  3、如果之前使用的主题自带SEO功能,那么更换主题后的主题最好也要有SEO功能,否则需要用插件来实现;
  4、更换主题之前,需要确认当前的全部插件是否与更换的主题兼容,有一些主题附带的功能会与某些插件存在冲突,更换前需要好好检查;
  5、重新加入统计跟踪代码。常见的统计跟踪工具(如Google Analytics、cnzz等)代码一般添加到footer.php中,切换主题时也要注意添加到新主题中。(建议最好用插件实现添加统计代码,如Google Analytics)

转载请注明:秋水逸冰 » wordpress更换主题报错解决方法