我的新客户有一个很久没有更新的网站。现在, PHP版本, wordpress版本和插件都是最新的, 但是Portifolio项目现在返回此错误:
屏幕截图:
文章图片
警告:第679行上的/home/elite856/public_html/wp-content/themes/eliteled/functions.php中的非法字符串偏移量” alt” 警告:/ home / elite856 / public_html / wp-content /中的非法字符串偏移量” url” 679行主题/eliteled/functions.php这是第679行:
'<
img src="'. $ob_img['url'] .'" class="capa" alt="'. $ob_img['alt'] .'" />
'.
这是整个功能:
$portfolio = new WP_Query( $args );
if( $portfolio->
have_posts() ){
while ( $portfolio->
have_posts() ) { $portfolio->
the_post();
$ob_img= get_field( 'imagem_de_capa' );
$allcats= get_the_category( get_the_ID() );
$cat= $allcats[0]->
name;
$arrayData= http://www.srcmini.com/array('id'=>
get_the_ID(), 'Titulo'=>
get_the_title(), 'cat'=>
$cat
);
//Criando arrayData com as informa??es do portfolio
if( have_rows('conteudo_do_portfolio') ){
while( have_rows('conteudo_do_portfolio') ){ the_row();
$tipo = get_field( 'tipo' );
if( $tipo == 'foto' ){if( empty( $arrayData['imgs'] ) ){
$arrayData['imgs'][] = array(
'full' =>
$ob_img['original_image']['url'], 'thumb' =>
wp_get_attachment_image_src( $ob_img['id'], 'thumb_portfolio' )[0]
);
}$idImg= get_sub_field('foto');
$arrayData['imgs'][] = array(
'full' =>
wp_get_attachment_image_src( $idImg, 'full' )[0], 'thumb' =>
wp_get_attachment_image_src( $idImg, 'thumb_portfolio' )[0]
);
}else{$idVideo = youtube_video_id( get_sub_field('video') );
$arrayData['imgs'][] = array(
'full'=>
$idVideo, 'thumb' =>
"http://img.youtube.com/vi/{$idVideo}/0.jpg"
);
}}
}//'<
li class="'. ( is_home() || is_front_page() ? 'item-home' : '' ) .'">
'
$conteudo .='<
li>
'.
'<
img src="'. $ob_img['url'] .'" class="capa" alt="'. $ob_img['alt'] .'" />
'.
'<
div class="camada text-center">
'.
'<
a href="http://www.srcmini.com/#" class="openModalPortfolio" data-tipo="'. get_field( 'tipo' ) .'" data-json=\''. json_encode( $arrayData ) .' \'\ >
'.
//'<
div class="'. ( is_home() || is_front_page() ? 'center-home' : 'center' ) .'">
'.
'<
div class="center">
'.
//'<
img src="http://www.srcmini.com/wp-content/themes/eliteled/images/expand'. ( is_home() || is_front_page() ? '' : '-red' ) .'.png" class="expand" />
'.
'<
img src="http://www.srcmini.com/wp-content/themes/eliteled/images/expand-red.png" class="expand" />
'.
'<
span class="titulo">
'. ( strlen( get_the_title() ) >
60 ? substr( get_the_title(), 0, 60 ) . '...' : get_the_title() ) .'<
/span>
'.
'<
span class="cat">
'. $cat .'<
/span>
'.
'<
/div>
'.
'<
/a>
'.
'<
/div>
'.
'<
div class="camada camada-branca">
<
/div>
'.
'<
/li>
';
}
}
【更新后的WordPress” 非法字符串偏移” 】我已经读过这个警告过去不会像PHP 5.4之前那样打印, 而且它的发生是因为它是期望的和数组。我的PHP技能不高, 有人可以给我一个做什么的线索吗?
#1 根据转储的数据, 我猜测original_image的内容是附件ID, 因此请尝试以下操作:
$img_params = json_decode($ob_img, true);
// convert string to associative array
$url = wp_get_attachment_image_url($img_params['original_image']);
if ($url) {
// we have the image url now so display the image here tag here
}
如果不起作用, 请检查原始主题/插件开发人员, 如果此产品组合来自的插件/主题有新更新
推荐阅读
- WordPress的图像上传时间错误(图像的后处理失败)
- WordPress图片库无法正常工作
- WordPress(在自定义帖子类型循环之前和之后插入的HTML代码)
- WordPress,如何以空主题开始()
- wordpress-如何正确设置归档页面()
- WordPress-如何在同一页面上制作多个自定义滑块()
- WordPress(如何实现分类的CTA)
- WordPress-如何检查CSS文件名是否包含”.min”()
- WordPress-如何显示作者最近两周的帖子()