主题开发过程中和上线后,PHP 错误和异常是不可避免的。良好的错误处理机制可以防止错误导致网站崩溃,同时提供有价值的调试信息。本文介绍主题中错误处理和调试模式的建立方法。

调试模式的开启与关闭

在开发阶段,开启 WordPress 的调试模式。在 wp-config.php 中设置 WP_DEBUG 为 true,WP_DEBUG_LOG 为 true,WP_DEBUG_DISPLAY 为 true。这会让所有 PHP 错误和警告显示在页面上,方便即时发现和修复问题。

在生产环境中,关闭调试显示,但保留调试日志。这样错误信息不会被用户看到,但会被记录到 /wp-content/debug.log 文件中供开发者检查。

WP_Error 对象的正确使用

在主题的 API 请求和数据验证场景中,使用 WP_Error 对象处理错误。is_wp_error 函数检查变量是否为 WP_Error 对象,get_error_message 获取错误信息。返回 WP_Error 而不是直接 wp_die 或 exit。

条件判断中的安全检查

在进行数据库查询或文件操作前,检查必要条件是否满足。检查变量是否存在、检查数据是否有效、检查用户是否有权限。使用 isset、empty、is_array、is_numeric 等函数进行前置检查。

错误日志的自定义记录

使用 error_log 函数记录自定义错误信息。在主题的关键位置添加日志记录,方便追踪问题的发生时间和上下文。记录的信息应该包含时间戳、错误描述和相关的数据。

主题健康检查

在主题中实现自检功能,在后台显示主题的健康状态。检查必要的 PHP 扩展是否启用,检查配置文件中是否缺少必要的常量,检查数据库表的完整性。