修复td-composer插件footer.php未定义$logo_image_height_html变量问题
修复方案:td-composer插件移动端页脚$logo_image_height_html未定义警告
报错原因
该警告属于PHP常规提示,触发原因是第79行代码拼接img标签属性时,直接引用了$logo_image_height_html变量,但当站点后台未单独配置移动端页脚logo高度参数时,插件代码没有提前给这个变量设置默认空值,PHP找不到已定义的该变量就会抛出警告。
具体修复方法
你可以二选一操作:
方法1:给变量加兜底默认值(临时修复)
- 打开报错路径对应的文件:
/www/www/wp-content/plugins/td-composer/mobile/footer.php - 定位到第79行原代码的上方,插入以下兜底初始化代码:
// 初始化logo宽高变量避免未定义警告 $logo_image_width_html = isset($logo_image_width_html) ? $logo_image_width_html : ''; $logo_image_height_html = isset($logo_image_height_html) ? $logo_image_height_html : '';- 保存文件,清空站点缓存、浏览器缓存后刷新页面即可。
注意:该方法属于直接修改插件源码,后续td-composer插件推送版本更新时,你添加的代码会被覆盖,更新后需要重新添加。
- 打开报错路径对应的文件:
方法2:关闭生产环境PHP报错输出(推荐)
生产环境的WordPress站点本来就不应该向前端输出PHP报错、警告信息,直接修改站点根目录下的wp-config.php配置文件,找到debug相关配置项,修改为以下内容即可屏蔽所有前端PHP警告显示:define( 'WP_DEBUG', false ); define( 'WP_DEBUG_DISPLAY', false ); @ini_set( 'display_errors', 0 );该方法不会因为插件更新失效,同时能避免其他插件、主题的同类PHP警告直接暴露给站点访客。
原问题对应第79行代码说明
你贴出的第79行拼接代码本身没有语法问题,只是缺了变量提前定义的逻辑,原代码如下:
$buffy .= '<a href="' . esc_url(home_url( '/' )) . '" aria-label="Logo"><img src="' . $td_footer_logo . '" alt="' . $td_footer_logo_alt . '" title="' . $td_footer_logo_title . '" ' . $logo_image_width_html . $logo_image_height_html . '/></a>';
内容的提问来源于stack exchange,提问作者tradeguide24
相关产品推荐
相关产品推荐

