我正在使用wordpress,对于我正在处理的网站,我已经设置了一个自定义帖子类型,用于列出他们的每个服务和详细信息.
在他们的自定义联系表单上,我查询自定义帖子类型以将每个帖子的标题放入选项列表中,以便用户可以选择他们感兴趣的服务.
提交表单时表单逻辑的一部分检查是否填写了所有必填字段,如果没有,则会发出警报并要求用户填写所需信息.
我在每个输入中都有一段php代码,用于将发布的数据回显到表单中,这样它就不会丢失,我正在尝试为选项下拉做同样的事情,但我遇到了一个非常令人沮丧的问题:
任何带有&ersand的wordpress帖子标题都是用&的字符代码替换了&符号,这很好,它在我的浏览器中显示为&,但在提交后它变成了&在帖子数据中.
当我尝试将每个帖子标题与提交的选择进行比较时,if语句永远不会找到匹配,因为&和&不匹配.
我已经尝试在wordpress的标题上使用htmlspecialchars_decode(),但是这并没有将&解码回&和.
有没有人知道一个函数来完成这个并解码可能弹出的任何奇怪的字符编码?
这是我发生这种情况的while循环.
while ($custom_post_type->have_posts()) : $custom_post_type->the_post();
//set selected if submission is bouncing back
if($_POST['ftype'] == get_the_title())
{
$the_selected = ' selected="selected" ';
}
else
{
$the_selected = '';
}
?>
<option value="<?php echo get_the_title(); ?>" <?php echo $the_selected; ?>><?php echo get_the_title(); ?></option>
<?php
endwhile;
Run Code Online (Sandbox Code Playgroud)
小智 5
html_entity_decode 应该管用.
echo html_entity_decode('&');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2234 次 |
| 最近记录: |