コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }