所以基本上,我有一个在wordpress上创建帖子时运行的函数。我通过添加以下代码修改了此函数。
$episodeID = $_POST['item_meta'][137];
$episodeVersion = $_POST['item_meta'][357];
if ($episodeVersion == "Subbed") {
$value = array("Subbed");
update_field('field_48', $value, $episodeID);
}
else if ($episodeVersion == "Dubbed") {
$value = array("Dubbed");
update_field('field_48', $value, $episodeID);
}这段代码基本上是说,如果帖子中字段的值是"Subbed“,那么通过选中"Subbed”复选框来更新另一个复选框字段。如果是“配音”,则通过选中“配音”复选框来更新复选框字段。
这可以很好地工作,但是当这两个复选框都被选中时,没有时间。如果我添加一个带有配音的帖子,它将选中配音,如果我添加一个带有Subbed的帖子,它将取消选中配音,而选中subbed。
因此,基本上,我如何才能使它不会取消选中已经选中的内容。那么,我应该使用什么来检查复选框是未选中还是已选中?某种类型的布尔值对/错?
发布于 2013-02-26 09:28:30
好的,所以我能够操纵一些代码,并最终让它工作。
我所要做的就是检查在执行复制的if语句时是否已经选中了Subbed复选框,反之亦然。
以下是更新后的代码
$episodeID = $_POST['item_meta'][137];
$episodeVersion = $_POST['item_meta'][357];
if ($episodeVersion == "Subbed" && !(get_field('episode_sdversion') && in_array('Subbed', get_field('episode_sdversion', $episodeID))) ) {
if (get_field('episode_sdversion') && in_array( 'Dubbed', get_field('episode_sdversion'))) {
$value = array("Subbed", "Dubbed");
} else {
$value = array("Subbed");
}
update_field('field_48', $value, $episodeID);
}
if ($episodeVersion == "Dubbed" && !(get_field('episode_sdversion') && in_array('Dubbed', get_field('episode_sdversion', $episodeID))) ) {
if (get_field('episode_sdversion') && in_array( 'Subbed', get_field('episode_sdversion'))) {
$value = array("Subbed", "Dubbed");
} else {
$value = array("Dubbed");
}
update_field('field_48', $value, $episodeID);
}https://stackoverflow.com/questions/15078928
复制相似问题