blogid; $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) ); foreach ( $blogs_ids as $blog_id ) { switch_to_blog( $blog_id ); $this->activate_single(); $activated_blogs[] = (int) $blog_id; } switch_to_blog( $current_blog_id ); update_site_option( 'pk_post_views_activated_blogs', $activated_blogs, array() ); } else { $this->activate_single(); } } /** * Single site activation. * * @global array $wp_roles */ public function activate_single() { global $wpdb; $table_name = $wpdb->prefix . 'pk_post_views'; $charset_collate = $wpdb->get_charset_collate(); // Required for dbdelta. require_once ABSPATH . 'wp-admin/includes/upgrade.php'; // Create post views table. maybe_create_table( $table_name, 'CREATE TABLE ' . $table_name . ' ( id bigint unsigned NOT NULL, type tinyint(1) unsigned NOT NULL, period varchar(20) NOT NULL, count bigint unsigned NOT NULL, PRIMARY KEY (id)) ' . $charset_collate . ';' ); } /** * Multisite deactivation. * * @global array $wpdb * @param bool $networkwide The networkwide. */ public function multisite_deactivation( $networkwide ) { if ( is_multisite() && $networkwide ) { global $wpdb; $current_blog_id = $wpdb->blogid; $blogs_ids = $wpdb->get_col( $wpdb->prepare( 'SELECT blog_id FROM ' . $wpdb->blogs, '' ) ); if ( ! ( $activated_blogs = get_site_option( 'pk_post_views_activated_blogs', false, false ) ) ) { $activated_blogs = array(); } foreach ( $blogs_ids as $blog_id ) { switch_to_blog( $blog_id ); $this->deactivate_single( true ); if ( in_array( (int) $blog_id, $activated_blogs, true ) ) { unset( $activated_blogs[ array_search( $blog_id, $activated_blogs ) ] ); } } switch_to_blog( $current_blog_id ); update_site_option( 'post_views_counter_activated_blogs', $activated_blogs ); } else { $this->deactivate_single(); } } /** * Single site deactivation. * * @param bool $multi The multi. */ public function deactivate_single( $multi = false ) { global $wpdb; // Delete table from database. $wpdb->query( 'DROP TABLE IF EXISTS ' . $wpdb->prefix . 'pk_post_views' ); } } new Powerkit_Post_Views_DB();