| 1 |
<?php |
|---|
| 2 |
|
|---|
| 3 |
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 |
|
|---|
| 8 |
|
|---|
| 9 |
|
|---|
| 10 |
|
|---|
| 11 |
|
|---|
| 12 |
|
|---|
| 13 |
|
|---|
| 14 |
|
|---|
| 15 |
|
|---|
| 16 |
$self = preg_replace('|^.*/wp-admin/|i', '', $_SERVER['PHP_SELF']); |
|---|
| 17 |
$self = preg_replace('|^.*/plugins/|i', '', $self); |
|---|
| 18 |
|
|---|
| 19 |
global $menu, $submenu, $parent_file; |
|---|
| 20 |
|
|---|
| 21 |
get_admin_page_parent(); |
|---|
| 22 |
|
|---|
| 23 |
function _wp_menu_output( &$menu, &$submenu, $submenu_as_parent = true ) { |
|---|
| 24 |
global $self, $parent_file, $submenu_file, $plugin_page, $pagenow; |
|---|
| 25 |
|
|---|
| 26 |
$first = true; |
|---|
| 27 |
|
|---|
| 28 |
foreach ( $menu as $key => $item ) { |
|---|
| 29 |
$class = array(); |
|---|
| 30 |
if ( $first ) { |
|---|
| 31 |
$class[] = 'wp-first-item'; |
|---|
| 32 |
$first = false; |
|---|
| 33 |
} |
|---|
| 34 |
if ( !empty($submenu[$item[2]]) ) |
|---|
| 35 |
$class[] = 'wp-has-submenu'; |
|---|
| 36 |
|
|---|
| 37 |
if ( ( $parent_file && $item[2] == $parent_file ) || strcmp($self, $item[2]) == 0 ) { |
|---|
| 38 |
if ( !empty($submenu[$item[2]]) ) |
|---|
| 39 |
$class[] = 'wp-has-current-submenu wp-menu-open'; |
|---|
| 40 |
else |
|---|
| 41 |
$class[] = 'current'; |
|---|
| 42 |
} |
|---|
| 43 |
|
|---|
| 44 |
if ( isset($item[3]) ) |
|---|
| 45 |
$class[] = $item[3]; |
|---|
| 46 |
|
|---|
| 47 |
$class = $class ? ' class="' . join( ' ', $class ) . '"' : ''; |
|---|
| 48 |
|
|---|
| 49 |
echo "\n\t<li$class>"; |
|---|
| 50 |
|
|---|
| 51 |
if ( $submenu_as_parent && !empty($submenu[$item[2]]) ) { |
|---|
| 52 |
$submenu[$item[2]] = array_values($submenu[$item[2]]); |
|---|
| 53 |
$menu_hook = get_plugin_page_hook($submenu[$item[2]][0][2], $item[2]); |
|---|
| 54 |
if ( file_exists(WP_PLUGIN_DIR . "/{$submenu[$item[2]][0][2]}") || !empty($menu_hook)) |
|---|
| 55 |
echo "<a href='admin.php?page={$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>"; |
|---|
| 56 |
else |
|---|
| 57 |
echo "\n\t<a href='{$submenu[$item[2]][0][2]}'$class>{$item[0]}</a>"; |
|---|
| 58 |
} else if ( current_user_can($item[1]) ) { |
|---|
| 59 |
$menu_hook = get_plugin_page_hook($item[2], 'admin.php'); |
|---|
| 60 |
if ( file_exists(WP_PLUGIN_DIR . "/{$item[2]}") || !empty($menu_hook) ) |
|---|
| 61 |
echo "\n\t<a href='admin.php?page={$item[2]}'$class>{$item[0]}</a>"; |
|---|
| 62 |
else |
|---|
| 63 |
echo "\n\t<a href='{$item[2]}'$class>{$item[0]}</a>"; |
|---|
| 64 |
} |
|---|
| 65 |
|
|---|
| 66 |
if ( !empty($submenu[$item[2]]) ) { |
|---|
| 67 |
echo "\n\t<ul class='wp-submenu'>"; |
|---|
| 68 |
$first = true; |
|---|
| 69 |
foreach ( $submenu[$item[2]] as $sub_key => $sub_item ) { |
|---|
| 70 |
if ( !current_user_can($sub_item[1]) ) |
|---|
| 71 |
continue; |
|---|
| 72 |
|
|---|
| 73 |
$class = array(); |
|---|
| 74 |
if ( $first ) { |
|---|
| 75 |
$class[] = 'wp-first-item'; |
|---|
| 76 |
$first = false; |
|---|
| 77 |
} |
|---|
| 78 |
if ( isset($submenu_file) ) { |
|---|
| 79 |
if ( $submenu_file == $sub_item[2] ) |
|---|
| 80 |
$class[] = 'current'; |
|---|
| 81 |
} else if ( (isset($plugin_page) && $plugin_page == $sub_item[2]) || (!isset($plugin_page) && $self == $sub_item[2]) ) { |
|---|
| 82 |
$class[] = 'current'; |
|---|
| 83 |
} |
|---|
| 84 |
|
|---|
| 85 |
$class = $class ? ' class="' . join( ' ', $class ) . '"' : ''; |
|---|
| 86 |
|
|---|
| 87 |
$menu_hook = get_plugin_page_hook($sub_item[2], $item[2]); |
|---|
| 88 |
|
|---|
| 89 |
if ( file_exists(WP_PLUGIN_DIR . "/{$sub_item[2]}") || ! empty($menu_hook) ) { |
|---|
| 90 |
if ( 'admin.php' == $pagenow || !file_exists(WP_PLUGIN_DIR . "/$parent_file") ) |
|---|
| 91 |
echo "\n\t\t<li$class><a href='admin.php?page={$sub_item[2]}'$class>{$sub_item[0]}</a></li>"; |
|---|
| 92 |
else |
|---|
| 93 |
echo "\n\t\t<li$class><a href='{$item[2]}?page={$sub_item[2]}'$class>{$sub_item[0]}</a></li>"; |
|---|
| 94 |
} else { |
|---|
| 95 |
echo "\n\t\t<li$class><a href='{$sub_item[2]}'$class>{$sub_item[0]}</a></li>"; |
|---|
| 96 |
} |
|---|
| 97 |
} |
|---|
| 98 |
echo "\n\t</ul>"; |
|---|
| 99 |
} |
|---|
| 100 |
echo "</li>"; |
|---|
| 101 |
} |
|---|
| 102 |
} |
|---|
| 103 |
|
|---|
| 104 |
?> |
|---|
| 105 |
|
|---|
| 106 |
<ul id="dashmenu" class="wp-menu"> |
|---|
| 107 |
|
|---|
| 108 |
<?php |
|---|
| 109 |
|
|---|
| 110 |
_wp_menu_output( $top_menu, $top_submenu, false ); |
|---|
| 111 |
do_action( 'dashmenu' ); |
|---|
| 112 |
|
|---|
| 113 |
?> |
|---|
| 114 |
|
|---|
| 115 |
|
|---|
| 116 |
</ul> |
|---|
| 117 |
|
|---|
| 118 |
|
|---|
| 119 |
<ul id="adminmenu" class="wp-menu"> |
|---|
| 120 |
|
|---|
| 121 |
<li class="write-new-button"><a class="button-secondary" href="post-new.php"><?php _e( 'Write New Post' ); ?></a></li> |
|---|
| 122 |
|
|---|
| 123 |
<?php |
|---|
| 124 |
|
|---|
| 125 |
_wp_menu_output( $menu, $submenu ); |
|---|
| 126 |
do_action( 'adminmenu' ); |
|---|
| 127 |
|
|---|
| 128 |
?> |
|---|
| 129 |
|
|---|
| 130 |
|
|---|
| 131 |
</ul> |
|---|
| 132 |
|
|---|
| 133 |
<?php |
|---|
| 134 |
|
|---|
| 135 |
do_action('admin_notices'); |
|---|
| 136 |
|
|---|
| 137 |
?> |
|---|
| 138 |
|
|---|