您应该使用相同的name 属性,用于您的2个无线电输入。所以我们假设这个名字是language. 如果language 设置时,有两个选项,表示为value, 任何一个English 或Chinese.
在您发布的代码中,这主要是您的问题。您设置了$radio 变量为$_POST[\'language1\'] 但是$_POST[\'language1\'] 将ALWAYS 是English 因为Chinese 值由设置$_POST[\'language2\']
在表单标记中,更改radio 输入name 价值观
<div class="overflow-hidden">
<form class="text-center" method="post" action="<?php echo $_SERVER[\'REQUEST_URI\']; ?>">
<div class="col-md-6">
<p class="tns">First Name *:</p>
<input type="text" name="clname" placeholder="First Name" required />
</div>
<div class="col-md-6">
<p class="tns">Last Name *:</p>
<input type="text" name="clsurname" placeholder="Last Name" required />
<input type="radio" name="language" value="English">English
<input type="radio" name="language" value="Chinese">Chinese
</div>
<hr>
<div class="overflow-hidden">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="submit" value="submit" />
</div>
</div>
</form>
</div>
在PHP中:
更改的引用language1 到language使用ternary operator 设置$fileatt. 如果$radio 是English 将英文url输出到文件。否则输出中文url。
if(isset($_POST[\'submit\']) && isset($_POST[\'language\'])){
$radio = $_POST[\'language\'];
$fileatt = \'English\' == $radio ? "http://example.com/english.pdf" : "http://example.com/chinese.pdf" ;
$fileatttype = "application/pdf";
$headers = \'From:\' . $_POST[\'clname\'] . \' <\'. $_POST[\'clemail\'] .\'>\' . "\\r\\n";
$mail = get_option(\'admin_email\');
$subject = "Testing";
$message = \'Name: \' . $_POST[\'clname\'] . \' \' . $_POST[\'clsurname\'] .\'\\n\\n
Email:\'.$_POST[\'clemail\'].\'\\n\\n Radiovalue:\' . $radio . \'\\n\'. $fileatt;
wp_mail($mail,$subject,$message,$headers);
$emailsent= true;
}