/** * Return the selectbox to choose type for the Rendez Vous. * * @since Rendez Vous (1.2.0) */ function rendez_vous_single_edit_get_the_type() { $rdv = rendez_vous(); if (empty($rdv->types)) { $types = rendez_vous_get_terms(array('hide_empty' => false)); $rdv->types = $types; } else { $types = $rdv->types; } $output = '<select name="_rendez_vous_edit[type]"><option value="">---</option>'; $selected_type = 0; if (!empty(rendez_vous()->item->type)) { $selected_types = wp_list_pluck(rendez_vous()->item->type, 'term_id'); $selected_type = array_pop($selected_types); } foreach ($types as $type) { $output .= '<option value="' . intval($type->term_id) . '" ' . selected($type->term_id, $selected_type, false) . '>' . esc_attr($type->name) . '</option>'; } $output .= '</select>'; return apply_filters('rendez_vous_single_edit_get_the_type', $output, $selected_type, $types, rendez_vous()->item); }
/** * Get all rendez-vous types * * @package Rendez Vous * @subpackage Ajax * * @since Rendez Vous (1.2.0) * * @uses rendez_vous_taxonomy_exists * @uses rendez_vous_get_terms() */ function rendez_vous_ajax_get_terms() { check_ajax_referer('rendez-vous-admin', 'nonce'); if (!current_user_can('manage_options')) { wp_send_json_error(); } if (!rendez_vous_taxonomy_exists('rendez_vous_type')) { wp_send_json_error(); } $terms = rendez_vous_get_terms(array('hide_empty' => false)); $terms = array_map('rendez_vous_prepare_term_for_js', array_values($terms)); $terms = array_filter($terms); wp_send_json_success($terms); }
/** * Check whether types have been created. * * @package Rendez Vous * @subpackage Functions * * @since Rendez Vous (1.2.0) * * @param int|Rendez_Vous_Item $rendez_vous_id ID or object for the rendez-vous * @uses rendez_vous_get_terms() * @return bool Whether the taxonomy exists. */ function rendez_vous_has_types($rendez_vous = null) { $rdv = rendez_vous(); if (empty($rdv->types)) { $types = rendez_vous_get_terms(array('hide_empty' => false)); $rdv->types = $types; } else { $types = $rdv->types; } if (empty($types)) { return false; } $retval = true; if (!empty($rendez_vous)) { if (!is_a($rendez_vous, 'Rendez_Vous_Item')) { $rendez_vous = rendez_vous_get_item($rendez_vous); } $retval = !empty($rendez_vous->type); } return $retval; }