所以基本上,我有一个在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”复选框更新另一个复选框字段。如果它是“Dubbed”,则通过选中“Dubbed”复选框来更新复选框字段。
这非常合适,但是没有时间选中这两个复选框。如果我添加一个配有Dubbed的帖子,它会被复制,然后如果我添加一个Subbed的帖子,它将取消选中配音并检查subbed。
所以基本上,我怎么能这样做,所以它实际上不会取消选中已经检查过的东西。那么我该怎么用来检查复选框是否未选中或已选中?某种类型的布尔值true / false?
答案 0 :(得分:0)
好的,所以我能够操纵一些代码并最终使其工作。
我所要做的就是检查在执行配音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);
}