-1

试图返回 $out

$out = '';
  $out .= '<form id="agp_upload_image_form" method="post" action="" enctype="multipart/form-data">';

$out .= wp_nonce_field('agp_upload_image_form', 'agp_upload_image_form_submitted'); 

  $out .= $posttile = get_option('posttitle');
  $out .= $postdiscription = get_option('postdiscription');
  $out .= $postauthor = get_option('postauthor');
  $out .= $postcategory= get_option('postcategory');
  $out .= $uploadimage= get_option('uploadimage');
  $out .= $posttitleenabledisables = get_option('posttitleenabledisables'); 
  $out .= $postdiscriptionenabledisable = get_option('postdiscriptionenabledisable');
  $out .= $postauthorenabledisable  = get_option('postauthorenabledisable');
  $out .= $postcategoryenabledisable = get_option('postcategoryenabledisable');
  $out .= $uploadimageenabledisable = get_option('uploadimageenabledisable');
  $out .= $posttaxonomies = get_option('posttaxonomies');
  $out .= $enablecaptcha = get_option('captchaprivatekey');

 if ($posttitleenabledisables == 'disable') { } else { 
  $out .= '<label id="labels" for="agp_image_caption">"'.if ( isset($posttile[0])) { echo get_option('posttitle'); } else { echo 'Post Title'; } .'":</label><br/>';

   $out .='<input type="text" id="agp_image_caption" name="agp_image_caption" value="$agp_image_caption ;"/><br/>';
 }  

但卡在这一点上给出错误

  $out .= '<label id="labels" for="agp_image_caption">"'.if ( isset($posttile[0])) { echo get_option('posttitle'); } else { echo 'Post Title'; } .'":</label><br/>';

我想要这个回报,但得到错误,因为我认为变量不允许,否则

有人可以告诉如何解决这个问题

4

4 回答 4

2

您尝试使用 if/else 的方式,我假设您需要一个三元运算符。If/else 控件不能以您尝试的方式使用。

尝试:

$out .= '<label id="labels" for="agp_image_caption">"'. ( isset($posttile[0]) ? get_option('posttitle') : 'Post Title' ) .'":</label><br/>';

基本上,if-else 不返回任何值,也不能内联使用。三元运算符计算为单个值,可以与字符串连接并在任何其他表达式中内联使用。

$cond ? $true_val : $false_val

如果$cond计算结果为true,则整个语句计算结果为$true_val,否则为$false_val

于 2013-06-05T10:49:13.610 回答
0

Ty 三元运算符。

$out .= '<label id="labels" for="agp_image_caption">"';
$out.= (isset($posttile[0]))? get_option('posttitle') : 'Post Title';
$out.='":</label><br/>';
于 2013-06-05T10:50:13.913 回答
0

这是因为您在字符串 concat 中有一个条件。

代替

$out .= '<label id="labels" for="agp_image_caption">"'.if ( isset($posttile[0])) { echo get_option('posttitle'); } else { echo 'Post Title'; } .'":</label><br/>';

$caption = isset($posttile[0]) ? get_option('posttitle') : "Post Title";
$out = '<label id="labels" for="agp_image_caption">"' . $caption . '":</label><br/>';
于 2013-06-05T10:50:48.460 回答
0

试试喜欢

if ( isset($posttile[0])) {
    $out .= '<label id="labels" for="agp_image_caption">'. get_option('posttitle').':</label><br/>';
} else {  
    $out .= '<label id="labels" for="agp_image_caption">Post Title:</label><br/>';
}

在您的代码中删除额外的

Orelse 就像您的代码更改一样

$out .= '<label id="labels" for="agp_image_caption">'.if ( isset($posttile[0])) { get_option('posttitle') } else { 'Post Title' } .':</label><br/>';
于 2013-06-05T10:46:21.657 回答