Snippets

Keith Crain Custom Site Selection Menu

Created by Keith Crain

File functions.php Added

  • Ignore whitespace
  • Hide word diff
+<?php
+defined( 'ABSPATH' ) or die( 'No script kiddies please!' );
+add_filter( 'mainwp_header_right', 'quick_form_in_admin_bar2', 10, 3 );
+
+function quick_form_in_admin_bar2($string) {
+
+	// SITE SELECTION
+	$sql		 = MainWP_DB::Instance()->getSQLWebsitesForCurrentUser();
+	$websites	 = MainWP_DB::Instance()->query( $sql );
+	@MainWP_DB::data_seek( $websites, 0 );
+
+	// BUILD ADMIN URL
+    $admin_url = esc_url( admin_url() ) . 'admin.php?page='; 
+
+  $html = '
+		<div class="ui green buttons">
+			<a class="ui button" data-inverted="" data-position="bottom right" data-tooltip="Go to websites overview table" href="'.$admin_url.'managesites">Sites</a>
+
+			<div class="ui dropdown icon floating button" style="z-index: 1000;" data-inverted="" data-position="bottom right" data-tooltip="Choose common child site actions" tabindex="0">
+				<i class="dropdown icon"></i>
+
+
+				<div class="menu">
+					<div class="ui icon search input">
+						<i class="search icon"></i>
+						<input type="text" placeholder="Search child sites...">
+					</div>
+
+					<div class="divider"></div>
+					<div class="header">
+						<div class="item" style="display: inline; margin-right: 5px;"><i class="settings icon"></i><a href="'.$admin_url.'PluginsInstall">Plugins</a></div>
+						<div class="item" style="display: inline; margin-right: 5px;"><i class="settings icon"></i><a href="'.$admin_url.'Extensions-Mainwp-Bulk-Settings-Manager">Settings</a></div>
+						<div class="item" style="display: inline; margin-right: 5px;"><i class="settings icon"></i><a href="'.$admin_url.'Extensions-Mainwp-Client-Reports-Extension">Reports</a></div>
+						<div class="item" style="display: inline; margin-right: 5px;"><i class="settings icon"></i><a href="'.$admin_url.'Extensions-Mainwp-Code-Snippets-Extension">Snippets</a></div>
+					</div>
+
+					<div class="scrolling menu">';
+
+						while ( $websites && ($website = @MainWP_DB::fetch_object( $websites ) ) ) {
+
+							$favi_url = MainWP_Utility::get_favico_url( $website );
+
+							$html .= '
+							<div class="item">
+								<img class="ui avatar image" src="'.$favi_url.'" style="vertical-align:middle;">
+								<span class="description">'.stripslashes($website->name).'</span>
+								<a href="'.$admin_url.'managesites&dashboard='.$website->id.'" data-tooltip="Open MainWP Child-Site-Dashboard" data-position="top left" data-inverted=""><i class="dashboard icon"></i></a>
+								<a href="'.$website->url.'" target="_blank" data-tooltip="Open frontend in new tab" data-position="top left" data-inverted=""><i class="external alternate icon"></i></a>
+								<a href="/wp-admin/SiteOpen&newtab=yes&websiteid='.$website->id.'" target="_blank" data-tooltip="Open backend in new tab" data-position="top left" data-inverted=""><i class="sign in icon"></i></a>
+							</div>';
+						}
+
+						$html .= '
+					</div>
+				</div>
+			</div>
+		</div>
+	';
+
+  return $string. $html;
+
+}
  1. 1
  2. 2
HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.