Php 代码选中一个复选框或另一个复选框,但不能同时选中两个复选框

Php 代码选中一个复选框或另一个复选框,但不能同时选中两个复选框,php,wordpress,checkbox,Php,Wordpress,Checkbox,所以基本上,我有一个函数,在wordpress上创建帖子时运行。我通过添加以下代码修改了此函数 $episodeID = $_POST['item_meta'][137]; $episodeVersion = $_POST['item_meta'][357]; if ($episodeVersion == "Subbed") { $value = array("Subbed"); update_field('field_48', $value, $episodeID);

所以基本上,我有一个函数,在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”复选框来更新另一个复选框字段。如果是“配音”,则通过选中“配音”复选框来更新复选框字段

这可以很好地工作,但是没有时间同时选中这两个复选框。若我添加一篇带有配音的文章,它会选中“配音”,若我添加一篇带有子床的文章,它会取消选中“配音”并选中“子床”


所以,基本上,我怎样才能使它不会真正取消选中已经选中的内容呢。那么,我应该使用什么来检查复选框是未选中还是已选中?某种类型的布尔真/假

好的,所以我能够操作一些代码并最终使其工作

我所要做的就是检查在执行被配音的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);



}

如果update_字段只是在字段上设置了一个检查,那么您可以去掉“else”关键字,这样,如果是Subbed,它将检查Subbed,然后检查是否已配音,然后检查已配音。这两者是相互排斥的,所以只有一个或另一个,而当你有两个if时,两者可以同时发生。我想这在逻辑上是有道理的。只有当if条件在一篇文章中为true时,才不会发生这种情况。这意味着一篇文章只能有子文章或配音文章。但是它正在更新的字段的值可以有子床和配音检查。因此,如果有一篇文章是以Subbed值提交的,而另一篇文章是以“配音”的形式提交的,那么这两个复选框都应该在另一篇文章中选中。但这并没有发生,只检查了一个或另一个。然后需要更多的代码,比如html和如何实现update_字段。