实时主机上的 Wordpress 语法错误,在本地工作正常
Wordpress syntax error on live host, working fine on local
过去几天我一直在我的本地主机上开发一个 wordpress 项目。
完成后,我尝试将其上传到我的实时主机上。
但是当安装完成时,它显示语法错误,说“解析错误:语法错误,意外的'[' in ...”
代码如下:
function Consulin_header_style() {
if (Consulin_meta('enable_custom_header_style') == 1):
$images = Consulin_decode(Consulin_meta( 'header_image'));
$header_images = '.page-title { background-image: url('. wp_get_attachment_image_src($images[0],'flat-page-title')[0].');}';
else:
if ( get_header_image() != "" ) {
$header_images = '.page-title { background-image: url('. get_header_image().');}';
} else {
$header_images = '.page-title { background-image: url('.CONSULIN_LINK.'images/page-title.jpg) ; }';
}
endif;
wp_add_inline_style( 'Consulin-style', $header_images );
}
代码的第 4 行“$header_images = ...”就是问题所在。
我对编程的知识绝对是零,所以我很感激这里的帮助。
P.S:它在本地主机上工作得很好。
如评论所述,此错误与 php 版本有关。您的生产环境中有一个较旧的 php 版本。
尽管如此,为了使您的代码向后兼容,您可以将代码更改为如下所示:
// …
if (Consulin_meta('enable_custom_header_style') == 1):
$images = Consulin_decode(Consulin_meta( 'header_image'));
$imageData = wp_get_attachment_image_src($images[0],'flat-page-title');
$header_images = '.page-title { background-image: url('. $imageData[0].');}';
else:
// …
解释:
在 php 的旧版本中,您不能直接使用函数的 return 值。上面的解决方案将 return 值存储在一个临时变量中,并在引用其 [0]
索引时使用它。
过去几天我一直在我的本地主机上开发一个 wordpress 项目。 完成后,我尝试将其上传到我的实时主机上。 但是当安装完成时,它显示语法错误,说“解析错误:语法错误,意外的'[' in ...”
代码如下:
function Consulin_header_style() {
if (Consulin_meta('enable_custom_header_style') == 1):
$images = Consulin_decode(Consulin_meta( 'header_image'));
$header_images = '.page-title { background-image: url('. wp_get_attachment_image_src($images[0],'flat-page-title')[0].');}';
else:
if ( get_header_image() != "" ) {
$header_images = '.page-title { background-image: url('. get_header_image().');}';
} else {
$header_images = '.page-title { background-image: url('.CONSULIN_LINK.'images/page-title.jpg) ; }';
}
endif;
wp_add_inline_style( 'Consulin-style', $header_images );
}
代码的第 4 行“$header_images = ...”就是问题所在。 我对编程的知识绝对是零,所以我很感激这里的帮助。
P.S:它在本地主机上工作得很好。
如评论所述,此错误与 php 版本有关。您的生产环境中有一个较旧的 php 版本。 尽管如此,为了使您的代码向后兼容,您可以将代码更改为如下所示:
// …
if (Consulin_meta('enable_custom_header_style') == 1):
$images = Consulin_decode(Consulin_meta( 'header_image'));
$imageData = wp_get_attachment_image_src($images[0],'flat-page-title');
$header_images = '.page-title { background-image: url('. $imageData[0].');}';
else:
// …
解释:
在 php 的旧版本中,您不能直接使用函数的 return 值。上面的解决方案将 return 值存储在一个临时变量中,并在引用其 [0]
索引时使用它。