Choices API
Many settings in Make need to be limited to a value that comes from a specific set of values, rather than having an arbitrary value. These possible values are called “choices” in Make, and they are managed via the Choices API.
A choice set consists of a set ID that corresponds to an array of value/label pairs. These arrays can be used directly in the choices
argument for a Select or Radio control in the WordPress Customizer. Here’s an example choice set:
array( 'post-author' => array( 'avatar' => __( 'With avatar', 'make' ), 'name' => __( 'Without avatar', 'make' ), 'none' => __( 'None', 'make' ), ), )
The make_update_choice_set()
function makes it easy to add a new choice set or update an existing one.
Example: Add a choice set and update an existing one
The following could be used in a child theme’s functions.php file or in a plugin:
function childtheme_update_choice_sets() { // Add a new set make_update_choice_set( 'rice-types', array( 'white' => __( 'White rice', 'make' ), 'brown' => __( 'Brown rice', 'make' ), 'wild' => __( 'Wild rice', 'make' ), 'black' => __( 'Forbidden rice', 'make' ), ) ); // Update an existing set make_update_choice_set( 'post-author', array( 'avatar' => __( 'With avatar', 'make' ), 'name' => __( 'Without avatar', 'make' ), 'none' => __( 'None', 'make' ), 'wapuu' => __( 'With random Wapuu', 'make' ) ) ); } add_action( 'make_choices_loaded', 'childtheme_update_choice_sets' );
In the above example, the make_update_choice_set()
function takes two parameters: a unique string for the choice set ID, and an associative array of choices.