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

WordPress插件Prime Slider Lite报错:尝试访问null值的数组偏移量

解决bdthemes-prime-slider-lite插件的PHP警告问题

问题描述

在WordPress环境中使用bdthemes-prime-slider-lite插件时,触发PHP警告:

warning: trying to access array offset on value of type null

报错位置在文件bdthemes-prime-slider-lite/modules/general/widgets/general.php第2135行,对应代码为:

$title_link_target = ( $slide_content['title_link']['is_external'] ? '_blank' : '_self' );

相关完整代码段:

$this->add_render_attribute( 'slide_content_animate', 'class', 'bdt-prime-slider-content' );
$title_link_href = ( isset( $slide_content['title_link']['url'] ) ? esc_url( $slide_content['title_link']['url'] ) : 'javascript:void(0);' );
$title_link_target = ( $slide_content['title_link']['is_external'] ? '_blank' : '_self' );
$this->add_render_attribute(
    [
    'title-link' => [
    'class'  => [ 'bdt-slider-title-link' ],
    'href'   => $title_link_href,
    'target' => $title_link_target,
],
],
    '',
    '',
    true
);
?>

问题原因

PHP 7.4及以上版本会对「访问null值的数组偏移量」抛出警告。当前代码中,$title_link_href通过isset()判断避免了错误,但$title_link_target直接访问$slide_content['title_link']['is_external']——当$slide_content['title_link']为null时,就会触发警告。

修复方案

方案1:添加isset判断(简洁写法)

将第2135行的代码替换为:

$title_link_target = ( isset( $slide_content['title_link']['is_external'] ) && $slide_content['title_link']['is_external'] ? '_blank' : '_self' );

方案2:更严谨的条件判断

如果需要更清晰的逻辑,也可以写成:

$title_link_target = '_self';
// 先确保$slide_content['title_link']是数组,再判断外部链接标记
if ( is_array( $slide_content['title_link'] ) && isset( $slide_content['title_link']['is_external'] ) && $slide_content['title_link']['is_external'] ) {
    $title_link_target = '_blank';
}

注意事项

  • 直接修改插件核心文件后,插件更新会覆盖你的修改。建议优先联系插件开发者提交修复需求,或者使用子主题的自定义代码来覆盖该逻辑。
  • 修改前请备份原文件,避免操作失误导致网站异常。

内容的提问来源于stack exchange,提问作者Guilherme Teixeira de Oliveira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 19:45:09