You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

修改Avada子主题logo.php实现WordPress指定页面切换Logo

实现Avada主题指定页面切换Logo的正确方案

你的思路方向是对的——通过子主题覆盖Avada的logo.php模板来实现自定义逻辑,但当前代码存在一个关键问题:你定义的$standard_logo和$retina_logo变量,被后面Avada默认的logo获取代码给覆盖了,所以自定义的logo根本不会生效。

问题出在哪里?

你看这段代码的顺序:

// 你自定义的赋值
if (is_page(array (194, 248))) { 
  $standard_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png'; 
} 
if (is_page(array (194, 248))) { 
  $retina_logo = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png'; 
}

// 这里Avada的默认代码直接覆盖了$standard_logo变量
$standard_logo = Avada()->images->get_logo_image_srcset( 'logo', 'logo_retina' );

后面这行get_logo_image_srcset()方法会重新生成默认的logo数组,完全覆盖了你之前的赋值,所以你的自定义logo根本没机会被使用。

正确的修改方式

我们需要把自定义逻辑放在Avada获取默认logo之后,然后针对指定页面替换掉数组里的URL值。同时可以合并重复的判断,优化代码:

修改logo.php中的对应部分为:

// 先获取Avada默认的logo配置
$standard_logo = Avada()->images->get_logo_image_srcset( 'logo', 'logo_retina' );

// 针对指定页面替换logo URL
$target_pages = array(194, 248);
if (is_page($target_pages)) {
  $custom_logo_url = 'http://nac.flywheelsites.com/wp-content/uploads/2018/05/broadway-binghamton-logo.png';
  // 替换标准logo的URL和srcset(如果不需要srcset可以只改url)
  $standard_logo['url'] = $custom_logo_url;
  $standard_logo['srcset'] = $custom_logo_url . ' 2x'; // 根据实际图片尺寸调整
  // 如果你的自定义logo有单独的 retina 版本,也可以在这里替换
  // $standard_logo['is_retina'] = '你的retina logo URL';
}

额外优化建议

  • 避免硬编码域名:可以用WordPress的内置函数获取上传目录,比如wp_get_upload_dir()['baseurl'] . '/2018/05/broadway-binghamton-logo.png',这样更换域名时不用修改代码。
  • 确认页面ID正确:在WordPress后台编辑目标页面时,地址栏的post=XXX里的XXX就是页面ID,确保没有写错。
  • 移动端logo适配:如果需要移动端也显示自定义logo,你需要找到代码中处理mobile_logo的部分,添加类似的判断逻辑。
  • 清理缓存:修改模板后,记得清理Avada的缓存和浏览器缓存,确保修改生效。

验证修改是否生效

  1. 访问指定的页面(ID194、248),查看页面源代码,找到logo的<img>标签,检查src属性是否是你自定义的URL。
  2. 如果没生效,检查子主题的文件路径是否正确(必须是Avada-Child-Theme/templates/logo.php),确认子主题已经激活。

内容的提问来源于stack exchange,提问作者flexlearn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:18:54