如果声明在Html中

时间:2017-08-15 15:03:35

标签: php if-statement

如果变量$credit不为空,我正在尝试使用IF语句。但是,我得到一个解析错误。有人可以帮我解释一下我的语法吗?

 $credit = get_field('fl_credit', $image['id']);
   return '<div class="kalim"><img title="' .
      esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) . 
     '" alt="' . esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) .
     '" src="' . $image['url'] . '" /><div class="kalca">' . 
     $image['caption'] . '</div>' . 
     if($credit) {'<div class="kalcr">Credit:' . $credit . '</div></div>' };

2 个答案:

答案 0 :(得分:3)

在不知道错误的情况下,我建议做一个简短的if,所以:

 $credit = get_field('fl_credit', $image['id']);
   return '<div class="kalim"><img title="' .
      esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) . 
     '" alt="' . esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) .
     '" src="' . $image['url'] . '" /><div class="kalca">' . 
     $image['caption'] . '</div>' . 
     (!empty($credit) ? '<div class="kalcr">Credit:' . $credit . '</div></div>': '' ) ;

您可以看到更多here

答案 1 :(得分:0)

检查这是否对您有帮助

<?php 
    $credit = get_field('fl_credit', $image['id']);
    $return_data = '<div class="kalim"><img title="'.esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) . '" alt="' . esc_attr( sprintf( the_title_attribute( 'echo=0' ) ) ) . '" src="' . $image['url'] . '" /><div class="kalca">' . $image['caption'] . '</div>';
    if(!empty($credit)){
        $return_data .= '<div class="kalcr">Credit:' . $credit . '</div>';
    }
    $return_data .= '</div>';
    return $return_data;
?>