+ * @since 4.2.0 Introduced the `value_field` argument.
+ *
+ * @param string|array $args {
+ * Optional. Array or string of arguments to generate a categories drop-down element.
+ *
+ * @type string $show_option_all Text to display for showing all categories. Default empty.
+ * @type string $show_option_none Text to display for showing no categories. Default empty.
+ * @type string $option_none_value Value to use when no category is selected. Default empty.
+ * @type string $orderby Which column to use for ordering categories. See get_terms() for a list
+ * of accepted values. Default 'id' (term_id).
+ * @type string $order Whether to order terms in ascending or descending order. Accepts 'ASC'
+ * or 'DESC'. Default 'ASC'.
+ * @type bool $pad_counts See get_terms() for an argument description. Default false.
+ * @type bool|int $show_count Whether to include post counts. Accepts 0, 1, or their bool equivalents.
+ * Default 0.
+ * @type bool|int $hide_empty Whether to hide categories that don't have any posts. Accepts 0, 1, or
+ * their bool equivalents. Default 1.
+ * @type int $child_of Term ID to retrieve child terms of. See get_terms(). Default 0.
+ * @type array|string $exclude Array or comma/space-separated string of term ids to exclude.
+ * If `$include` is non-empty, `$exclude` is ignored. Default empty array.
+ * @type bool|int $echo Whether to echo or return the generated markup. Accepts 0, 1, or their
+ * bool equivalents. Default 1.
+ * @type bool|int $hierarchical Whether to traverse the taxonomy hierarchy. Accepts 0, 1, or their bool
+ * equivalents. Default 0.
+ * @type int $depth Maximum depth. Default 0.
+ * @type int $tab_index Tab index for the select element. Default 0 (no tabindex).
+ * @type string $name Value for the 'name' attribute of the select element. Default 'cat'.
+ * @type string $id Value for the 'id' attribute of the select element. Defaults to the value
+ * of `$name`.
+ * @type string $class Value for the 'class' attribute of the select element. Default 'postform'.
+ * @type int|string $selected Value of the option that should be selected. Default 0.
+ * @type string $value_field Term field that should be used to populate the 'value' attribute
+ * of the option elements. Accepts any valid term field: 'term_id', 'name',
+ * 'slug', 'term_group', 'term_taxonomy_id', 'taxonomy', 'description',
+ * 'parent', 'count'. Default 'term_id'.
+ * @type string $taxonomy Name of the category to retrieve. Default 'category'.
+ * @type bool $hide_if_empty True to skip generating markup if no categories are found.
+ * Default false (create select element even if no categories are found).
+ * }