2017-02-18 46 views
1

我想切換此選項。當選項爲true時,我想將其更新爲false如何切換此選項PHP

update_option('maintenance', true); 

我已經試過如下:

if(get_option('maintenance') == true) { 
    update_option('maintenance', false); 
} 

if(get_option('maintenance') == false) { 
    update_option('maintenance', true); 
} 

但出於某種原因,這並不工作,並且是過於複雜。我相信有更好的方法來做到這一點。

有沒有人有建議?

+0

'update_option()'的內容是什麼? –

+0

@PedroLobito當'true'時,它將返回1.如果爲false,則不返回任何內容。 – Mitch

回答

4

您每次切換兩次。如果確實如此,則將其更新爲false,然後再次讀取它,發現它爲false,然後將其設置爲true。

只要做到這一點,一旦在一個襯裏本身(替換所有的代碼):

update_option('maintenance', !get_option('maintenance')); 

這是說:它更新到逆它是什麼現在。

+0

啊,不知道這個伎倆。正是我在找什麼。非常感謝,謝謝! – Mitch

0

@ze寫什麼正是我的建議。但是如果你認爲在一行中做這件事太複雜,你可以使用一個變量,甚至是'正常的'if

中間有一個變量。這使您可以更輕鬆地檢查變量(用於調試),或者在需要時組合多個值。

$newvalue = !get_option('maintenance'); 
update_option('maintenance', $newvalue); 

或者,如果你想有一個如果,使用`別的防止第二件要馬上執行:

if(get_option('maintenance') == true) { 
    update_option('maintenance', false); 
} else { 
    update_option('maintenance', true); 
} 

不用說,在這個特殊的和簡單的情況下,ZED的建議是最直接的。