2013-02-26 55 views
0

所以基本上,我有一個功能,就是當跑在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」複選框更新另一個複選框字段。如果是「Dubbed」,則選擇「Dubbed」複選框更新複選框。

這工作完全正常,但沒有在這兩個複選框被檢查的時間。如果我在Dubbed上添加了一個帖子,它會檢查配音,然後如果我使用Subbed添加帖子,它將取消勾選配音並檢查密碼。

所以基本上,我怎樣才能使它所以它實際上沒有任何取消已經選中。那麼我應該使用什麼來檢查複選框是否未被選中或檢查?某種類型的布爾真/假?

+0

如果update_field只是設置在該領域的檢查,那麼你可以只帶走了「其他」關鍵字,這樣,如果它SUBBED會檢查塗膠,然後檢查是否然後名曰檢查配音。正如你所擁有的,兩者是互斥的,所以只有一個或另一個,而當你有兩個if時,兩者都可以同時發生。 – richardhsu 2013-02-26 00:07:45

+0

我想這在邏輯上是有道理的。只有if條件在一個沒有發生的帖子中可以是真實的。意思是一個帖子只能有Subbed或Dubbed。但是該字段的更新值可以選中Subbed和Dubbed。因此,如果有一個帖子以Subbed值提交,然後另一個提交爲「Dubbed」,則應在其他帖子上檢查兩個複選框。但是,這不會發生,只有一個或另一個被檢查。 – Maaz 2013-02-26 00:14:17

+0

然後需要更多的代碼,比如你的html以及update_field是如何實現的。 – richardhsu 2013-02-26 01:02:22

回答

0

好了,所以我能夠操縱的一些代碼,並讓它最終奏效。

我所要做的就是檢查SUBBED複選框已經選中時if語句執行配音,反之亦然。

這裏是更新的代碼

$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); 



} 
相關問題