Domanda

I'mt cercando di creare un plugin che aggiunge una pagina personalizzata nel pannello di amministrazione. Ho una casella di controllo con il nome di "deposit_sandbox" se il controllo vero dovrebbe aggiornare l'opzione nel database per vero, se non selezionati che dovrebbe aggiornare l'opzione nel database per falso.

Come faccio a verificare se è stata selezionata una casella di controllo e quindi aggiornare il database con funzione di update_option ()?

Funziona se lascio l'azione vuota e quindi utilizzare $ _POST, ma avrei bisogno di fare questo per ogni elemento nella mia forma. se c'è una soluzione alternativa per favore fatemelo sapere:)

È stato utile?

Soluzione

Se le opzioni hanno lo stesso nome, come le caselle di controllo, è possibile scrivere il seguente:

$options_names = array("deposit_sandbox", "name2", "name3");
foreach($options_names as $option_name){
    $checked = isset($_POST[$option_name]);
    update_option($option_name, $checked);
}

Non mi ricordo se update_option accetta i valori booleani (come $checked nel mio esempio). In caso contrario, modificare la linea $checked per $checked = isset($_POST["deposit_sandbox"]) ? 1 : 0;.

sto supponendo di creare valori di default a tutte le vostre opzioni quando si attiva il plugin.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top