function wpuxss_eml_taxonomies_validate($input) { if (!$input) { $input = array(); } foreach ($input as $taxonomy => $params) { $sanitized_taxonomy = sanitize_key($taxonomy); if ($sanitized_taxonomy !== $taxonomy) { $input[$sanitized_taxonomy] = $input[$taxonomy]; unset($input[$taxonomy]); $taxonomy = $sanitized_taxonomy; } $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) ? 1 : 0; $input[$taxonomy]['sort'] = isset($params['sort']) ? 1 : 0; $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) ? 1 : 0; $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) ? 1 : 0; $input[$taxonomy]['assigned'] = isset($params['assigned']) ? 1 : 0; $input[$taxonomy]['admin_filter'] = isset($params['admin_filter']) ? 1 : 0; $input[$taxonomy]['media_uploader_filter'] = isset($params['media_uploader_filter']) ? 1 : 0; $input[$taxonomy]['media_popup_taxonomy_edit'] = isset($params['media_popup_taxonomy_edit']) ? 1 : 0; $input[$taxonomy]['rewrite']['with_front'] = isset($params['rewrite']['with_front']) ? 1 : 0; $input[$taxonomy]['rewrite']['slug'] = isset($params['rewrite']['slug']) ? wpuxss_eml_sanitize_slug($params['rewrite']['slug'], $taxonomy) : ''; if (isset($params['labels'])) { $default_labels = array('menu_name' => $params['labels']['name'], 'all_items' => 'All ' . $params['labels']['name'], 'edit_item' => 'Edit ' . $params['labels']['singular_name'], 'view_item' => 'View ' . $params['labels']['singular_name'], 'update_item' => 'Update ' . $params['labels']['singular_name'], 'add_new_item' => 'Add New ' . $params['labels']['singular_name'], 'new_item_name' => 'New ' . $params['labels']['singular_name'] . ' Name', 'parent_item' => 'Parent ' . $params['labels']['singular_name'], 'search_items' => 'Search ' . $params['labels']['name']); foreach ($params['labels'] as $label => $value) { $input[$taxonomy]['labels'][$label] = sanitize_text_field($value); if (empty($value) && isset($default_labels[$label])) { $input[$taxonomy]['labels'][$label] = sanitize_text_field($default_labels[$label]); } } } } return $input; }
function wpuxss_eml_taxonomies_validate($input) { if (!$input) { $input = array(); } foreach ($input as $taxonomy => $params) { $sanitized_taxonomy = sanitize_key($taxonomy); if (isset($params['create_taxonomy'])) { unset($input[$taxonomy]['create_taxonomy']); if (taxonomy_exists($sanitized_taxonomy)) { unset($input[$taxonomy]); continue; } } if (!empty($sanitized_taxonomy)) { $input[$sanitized_taxonomy] = $input[$taxonomy]; unset($input[$taxonomy]); $taxonomy = $sanitized_taxonomy; } else { unset($input[$taxonomy]); continue; } $input[$taxonomy]['eml_media'] = isset($params['eml_media']) && !!$params['eml_media'] ? 1 : 0; if ($input[$taxonomy]['eml_media']) { $input[$taxonomy]['hierarchical'] = isset($params['hierarchical']) && !!$params['hierarchical'] ? 1 : 0; $input[$taxonomy]['show_in_rest'] = isset($params['show_in_rest']) && !!$params['show_in_rest'] ? 1 : 0; $input[$taxonomy]['sort'] = isset($params['sort']) && !!$params['sort'] ? 1 : 0; $input[$taxonomy]['show_admin_column'] = isset($params['show_admin_column']) && !!$params['show_admin_column'] ? 1 : 0; $input[$taxonomy]['show_in_nav_menus'] = isset($params['show_in_nav_menus']) && !!$params['show_in_nav_menus'] ? 1 : 0; $input[$taxonomy]['rewrite']['with_front'] = isset($params['rewrite']['with_front']) && !!$params['rewrite']['with_front'] ? 1 : 0; $input[$taxonomy]['rewrite']['slug'] = isset($params['rewrite']['slug']) ? wpuxss_eml_sanitize_slug($params['rewrite']['slug'], $taxonomy) : ''; } if (!$input[$taxonomy]['eml_media']) { $input[$taxonomy]['taxonomy_auto_assign'] = isset($params['taxonomy_auto_assign']) && !!$params['taxonomy_auto_assign'] ? 1 : 0; } $input[$taxonomy]['assigned'] = isset($params['assigned']) && !!$params['assigned'] ? 1 : 0; $input[$taxonomy]['admin_filter'] = isset($params['admin_filter']) && !!$params['admin_filter'] ? 1 : 0; $input[$taxonomy]['media_uploader_filter'] = isset($params['media_uploader_filter']) && !!$params['media_uploader_filter'] ? 1 : 0; $input[$taxonomy]['media_popup_taxonomy_edit'] = isset($params['media_popup_taxonomy_edit']) && !!$params['media_popup_taxonomy_edit'] ? 1 : 0; if (isset($params['labels'])) { $default_labels = array('menu_name' => $params['labels']['name'], 'all_items' => 'All ' . $params['labels']['name'], 'edit_item' => 'Edit ' . $params['labels']['singular_name'], 'view_item' => 'View ' . $params['labels']['singular_name'], 'update_item' => 'Update ' . $params['labels']['singular_name'], 'add_new_item' => 'Add New ' . $params['labels']['singular_name'], 'new_item_name' => 'New ' . $params['labels']['singular_name'] . ' Name', 'parent_item' => 'Parent ' . $params['labels']['singular_name'], 'search_items' => 'Search ' . $params['labels']['name']); foreach ($params['labels'] as $label => $value) { $input[$taxonomy]['labels'][$label] = sanitize_text_field($value); if (empty($value) && isset($default_labels[$label])) { $input[$taxonomy]['labels'][$label] = sanitize_text_field($default_labels[$label]); } } } } add_settings_error('media-taxonomies', 'eml_taxonomy_settings_saved', __('Media Taxonomies settings saved.', 'enhanced-media-library'), 'updated'); return $input; }