-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplugin.php
71 lines (60 loc) · 1.87 KB
/
plugin.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
/**
* Author URI: https://plugin.pizza/
* Author: Plugin Pizza
* Description: Display the current site ID in the WordPress admin bar on multisite networks.
* Domain Path: /languages
* License: GPLv3+
* Plugin Name: Admin Bar Site ID
* Plugin URI: https://github.com/pluginpizza/admin-bar-site-id/
* Text Domain: pluginpizza-admin-bar-site-id
* Version: 2.0.0
* Requires PHP: 5.3.0
* Requires at least: 3.1.0
* GitHub Plugin URI: pluginpizza/admin-bar-site-id
*
* @package PluginPizza\AdminBarSiteId
*/
namespace PluginPizza\AdminBarSiteId;
// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
die;
}
// Maybe add an admin bar item that shows the current site ID.
add_action( 'admin_bar_menu', __NAMESPACE__ . '\maybe_add_admin_bar_item', 99 );
/**
* Maybe add an admin bar item that shows the current site ID.
*
* @param WP_Admin_Bar $wp_admin_bar The WP_Admin_Bar instance, passed by reference.
* @return void
*/
function maybe_add_admin_bar_item( $wp_admin_bar ) {
if ( ! is_multisite() ) {
return;
}
if ( ! current_user_can(
/**
* Filters the capability required to add the admin bar menu item.
*
* @param string $capability The capability required to add the admin bar menu item, default "manage_options".
*/
apply_filters( 'pluginpizza_admin_bar_site_id_capability', 'manage_options' )
) ) {
return;
}
$current_blog_id = absint( get_current_blog_id() );
$args = array(
'id' => 'pluginpizza-admin-bar-site-id',
'title' => sprintf(
/* translators: %d: current blog ID */
esc_html__( 'Site ID: %d', 'pluginpizza-admin-bar-site-id' ),
$current_blog_id
),
);
if ( current_user_can( 'manage_sites' ) ) {
$args['href'] = esc_url(
admin_url( '/network/site-info.php?id=' . $current_blog_id )
);
}
$wp_admin_bar->add_node( $args );
}