Každý kdo kóduje šablony, nebo programuje pluginy pro WordPress ví, jak je otravné psát podmínky pro kontrolu hodnot v selectech a checkboxech. Díky vestavěným funkcím WordPressu si můžete práci usnadnit a i kód formulářů bude o dost přehlednější.
Obě funkce checked() i selected() fungují stejně, kontrolují, zda proměnná odpovídá podmínce a pokud ano, vypíší checked, nebo selected.
Podívejte se na rozdíl mezi:
<select name="options[foo]"> <option value="1" <?php if ( $options['foo'] == 1 ) echo 'selected="selected"'; ?>>1</option> <option value="2" <?php if ( $options['foo'] == 2 ) echo 'selected="selected"'; ?>>2</option> <option value="3" <?php if ( $options['foo'] == 3 ) echo 'selected="selected"'; ?>>3</option> </select> |
a
<select name="options[foo]"> <option value="1" <?php selected( $options['foo'], 1 ); ?>>1</option> <option value="2" <?php selected( $options['foo'], 2 ); ?>>2</option> <option value="3" <?php selected( $options['foo'], 3 ); ?>>3</option> </select> |
Jak je vidět z kódu (zdroj. WordPress.org), selected načte proměnnou $options[‚foo‘] a pokud se rovná druhému parametru, například 1, vypíše selected=“selected“. Kratší, rychlejší a přehlednější zápis. Oceníte především u složitějších formulářů.
Pro checked je použítí obdobné:
<input type="checkbox" name="options[postlink]" value="1" <?php checked( $options['postlink'], 1 ); ?> /> |