试图返回$ 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/>';
我希望这次返回但是会收到错误,因为我认为变量不允许if else
可以告诉我们如何解决这个问题
答案 0 :(得分:2)
你尝试使用if / else的方式,我认为你需要一个ternary operator。如果/ 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
。
答案 1 :(得分: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/>';
答案 2 :(得分:0)
$out .= '<label id="labels" for="agp_image_caption">"';
$out.= (isset($posttile[0]))? get_option('posttitle') : 'Post Title';
$out.='":</label><br/>';
答案 3 :(得分: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/>';