blogid; // Get all blog ids $blogids = $wpdb->get_results("SELECT blog_id FROM $wpdb->blogs"); foreach ($blogids as $blogid) { $blog_id = $blogid->blog_id; switch_to_blog($blog_id); _acategory_activate(); } switch_to_blog($old_blog); return; } } _acategory_activate(); } function _acategory_activate() { global $wpdb; $options = aDefaultOptions(); if(isWPMU()) { update_blog_option($wpdb -> blogid, 'aCategory', $options); add_blog_option($wpdb -> blogid, 'aCategory', $options); } else { update_option('aCategory', $options); add_option('aCategory', $options); } } function aDefaultOptions(){ $options= new stdClass(); $args=array('hierarchical' => true ); $taxonomies=get_taxonomies($args, 'objects'); foreach ($taxonomies as $taxonomy ) { $tax = $taxonomy->name; $replace = 0; $none = 1; $orderby = 'name'; $order = 'ASC'; $option = new stdClass(); $option->slug = $tax; // taxonomy slug $option->replace = $replace; // 1 = replace; 0 = wordpress default $option->none = $none; // 1 = show; 0 = hide $option->orderby = $orderby; // possible: name, slug, menu_order $option->order = $order; // ASC or DESC $option->multi = 0; // multi-choice disabled by default $options->$tax = $option; } return $options; } add_action( 'wpmu_new_blog', 'aCat_new_blog', 10, 6); // in case of creation of a new site in WPMU function aCat_new_blog($blog_id) { global $wpdb; if (is_plugin_active_for_network('acategory-dropdown-list/aCategory.php')) { $old_blog = $wpdb->blogid; switch_to_blog($blog_id); _acategory_activate(); switch_to_blog($old_blog); } } //UNINSTALL register_uninstall_hook(__FILE__, 'aCategory_uninstall'); function aCategory_uninstall(){ global $wpdb; if (isWPMU()) { $old_blog = $wpdb->blogid; // Get all blog ids $blogids = $wpdb->get_results("SELECT blog_id FROM $wpdb->blogs"); foreach ($blogids as $blogid) { $blog_id = $blogid->blog_id; switch_to_blog($blog_id); _acategory_uninstall(); } switch_to_blog($old_blog); return; } _acategory_uninstall(); } function _acategory_uninstall(){ global $wpdb; if (isWPMU()) delete_blog_option($wpdb->blogid, 'aCategory'); else delete_option('aCategory'); } // SETTINGS add_action('admin_menu', 'aCategorySettingMenu'); function aCategorySettingMenu() { add_options_page('a´Category Settings', 'a´Category', 'manage_options', 'aCategory', 'aCategory_settings'); } // Remove default categories/taxonomies boxes // add_action( 'admin_menu' , 'remove_default_categories_box' ); function remove_default_categories_box() { $options = get_option('aCategory'); foreach($options as $taxonomy){ $tax = get_taxonomy($taxonomy->slug); $catSlug = $taxonomy->slug; $catBox = $catSlug.'div'; $postTypes = $tax->object_type; foreach ( $postTypes as $PostType ) if($taxonomy->replace == 1) remove_meta_box( $catBox, $PostType, 'side' ); } } // Add categories/taxonomies custom boxes // add_action( 'add_meta_boxes', 'add_aCategories_box' ); function add_aCategories_box(){ global $wpdb; if (isWPMU()) $options = get_blog_option($wpdb->blogid, 'aCategory'); else $options = get_option('aCategory'); foreach($options as $taxonomy){ $tax = get_taxonomy($taxonomy->slug); $catSlug = $taxonomy->slug; $catBox = 'a-'.$catSlug; $postTypes = $tax->object_type; foreach ( $postTypes as $PostType ) if($taxonomy->replace == 1) add_meta_box( $catBox, $tax->labels->name, 'aCatSelect', $PostType, 'side', 'core', array( 'catSlug' => $catSlug, 'options' => $taxonomy)); } } function aCatSelect($post, $catSlug){ global $post; $boxID = $catSlug['id']; $options = $catSlug['args']['options']; $catSlug = $catSlug['args']['catSlug']; //$thisPostType = $post->post_type; $argName = ($options->slug == "category") ? 'post_category[]' : 'tax_input['.$catSlug.'][]'; $orderby = $options->orderby; $order = $options->order; $depth = ($options->multi) ? 1 : 0; //$options->depth; // 0 - show all levels $none = ($options->none == 1 && $options->slug != "category") ? __('None') : 0; $default_category = get_option('default_category'); $post_categories = wp_get_post_terms( $post->ID, $catSlug ); if (!$post_categories) $post_categories = array(0); echo '