Instantly share code, notes, and snippets.
Created
October 12, 2022 15:38
-
Star
0
(0)
You must be signed in to star a gist -
Fork
0
(0)
You must be signed in to fork a gist
-
Save 1forh/48d036b02ccc61c2d6cdd70e362f0f49 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
add_action('admin_menu', 'admin_menu_mobile'); | |
add_action('admin_menu', 'admin_menu_hoops'); | |
add_action('admin_menu', 'admin_menu_football'); | |
add_action('admin_menu', 'admin_menu_remove_items'); | |
function admin_menu_remove_items () { | |
remove_menu_page('edit.php'); | |
remove_menu_page('edit.php?post_type=page'); | |
remove_menu_page('edit-comments.php'); | |
remove_menu_page('upload.php'); | |
} | |
function admin_menu_mobile() { | |
$slug = "edit.php?post_type=mobile_page"; | |
$menu = array( | |
array( | |
'title' => 'Pages', | |
'slug' => $slug, | |
'capability' => 'edit_posts' | |
), | |
array( | |
'title' => 'Media', | |
'slug' => 'upload.php', | |
'capability' => 'upload_files' | |
) | |
); | |
_generate_menu('Mobile', 'mobile', 2, "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzODQgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTMwNCAwaC0yMjRjLTM1LjM1IDAtNjQgMjguNjUtNjQgNjR2Mzg0YzAgMzUuMzUgMjguNjUgNjQgNjQgNjRoMjI0YzM1LjM1IDAgNjQtMjguNjUgNjQtNjRWNjRDMzY4IDI4LjY1IDMzOS4zIDAgMzA0IDB6TTMyMCA0NDhjMCA4LjgyMi03LjE3OCAxNi0xNiAxNmgtMjI0QzcxLjE4IDQ2NCA2NCA0NTYuOCA2NCA0NDhWNjRjMC04LjgyMiA3LjE3OC0xNiAxNi0xNmgyMjRDMzEyLjggNDggMzIwIDU1LjE4IDMyMCA2NFY0NDh6TTIyNCA0MDBIMTYwYy04LjgzNiAwLTE2IDcuMTY0LTE2IDE2czcuMTY0IDE2IDE2IDE2aDY0YzguODM4IDAgMTYtNy4xNjQgMTYtMTZTMjMyLjggNDAwIDIyNCA0MDB6Ii8+PC9zdmc+", $slug, $menu); | |
} | |
function admin_menu_hoops() { | |
_generate_menu('Hoops', 'hoops', 2, "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTg2LjYgNjRDMTE5IDM1LjUgMTU4LjYgMTUgMjAyLjMgNS42QzIwNiAxOS4xIDIwOCAzMy4zIDIwOCA0OGMwIDM4LjQtMTMuNSA3My43LTM2LjEgMTAxLjNMODYuNiA2NHpNNjQgODYuNmw4NS4yIDg1LjJDMTIxLjcgMTk0LjUgODYuNCAyMDggNDggMjA4Yy0xNC43IDAtMjguOS0yLTQyLjQtNS43QzE1IDE1OC42IDM1LjUgMTE5IDY0IDg2LjZ6TTI1NiAwYzY0LjkgMCAxMjQuMiAyNC4yIDE2OS40IDY0TDI1NiAyMzMuNCAxOTQuNiAxNzJDMjIyLjkgMTM4LjUgMjQwIDk1LjMgMjQwIDQ4YzAtMTYuMi0yLTMyLTUuOC00Ny4xQzI0MS40IC4zIDI0OC43IDAgMjU2IDB6TTQ4IDI0MGM0Ny4zIDAgOTAuNS0xNy4xIDEyNC00NS40TDIzMy40IDI1NiA2NCA0MjUuNEMyNC4yIDM4MC4yIDAgMzIwLjkgMCAyNTZjMC03LjMgLjMtMTQuNiAuOS0yMS44QzE2IDIzOCAzMS44IDI0MCA0OCAyNDB6bTQ2My4xIDM3LjhDNDk2IDI3NCA0ODAuMiAyNzIgNDY0IDI3MmMtNDcuMyAwLTkwLjUgMTcuMS0xMjQgNDUuNEwyNzguNiAyNTYgNDQ4IDg2LjZjMzkuOCA0NS4xIDY0IDEwNC40IDY0IDE2OS40YzAgNy4zLS4zIDE0LjYtLjkgMjEuOHptLTQuNyAzMS45QzQ5NyAzNTMuNCA0NzYuNSAzOTMgNDQ4IDQyNS40bC04NS4yLTg1LjJDMzkwLjMgMzE3LjUgNDI1LjYgMzA0IDQ2NCAzMDRjMTQuNyAwIDI4LjkgMiA0Mi40IDUuN3pNMzQwLjEgMzYyLjdMNDI1LjQgNDQ4QzM5MyA0NzYuNSAzNTMuNCA0OTcgMzA5LjcgNTA2LjRDMzA2IDQ5Mi45IDMwNCA0NzguNyAzMDQgNDY0YzAtMzguNCAxMy41LTczLjcgMzYuMS0xMDEuM3pNMzE3LjQgMzQwQzI4OS4xIDM3My41IDI3MiA0MTYuNyAyNzIgNDY0YzAgMTYuMiAyIDMyIDUuOCA0Ny4xYy03LjIgLjYtMTQuNSAuOS0yMS44IC45Yy02NC45IDAtMTI0LjItMjQuMi0xNjkuNC02NEwyNTYgMjc4LjYgMzE3LjQgMzQweiIvPjwvc3ZnPg=="); | |
} | |
function admin_menu_football() { | |
_generate_menu('Football', 'football', 2, "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBmaWxsPSJ3aGl0ZSI+PHBhdGggZD0iTTI0Ny41IDI1LjRjLTEzLjUgMy4zLTI2LjQgNy4yLTM4LjYgMTEuN0MxNDIuOSA2MS42IDk2LjcgMTAzLjYgNjYgMTUzLjZjLTE4LjMgMjkuOC0zMC45IDYyLjMtMzkuMiA5NS40TDI2NC41IDQ4Ni42YzEzLjUtMy4zIDI2LjQtNy4yIDM4LjYtMTEuN2M2Ni0yNC41IDExMi4yLTY2LjUgMTQyLjktMTE2LjVjMTguMy0yOS44IDMwLjktNjIuMyAzOS4xLTk1LjNMMjQ3LjUgMjUuNHpNNDk1LjIgMjA1LjNjNi4xLTU2LjggMS40LTExMi4yLTcuNy0xNTYuNGMtMi43LTEyLjktMTMtMjIuOS0yNi4xLTI1LjFjLTU4LjItOS43LTEwOS45LTEyLTE1NS42LTcuOUw0OTUuMiAyMDUuM3pNMjA2LjEgNDk2TDE2LjggMzA2LjdjLTYuMSA1Ni44LTEuNCAxMTIuMiA3LjcgMTU2LjRjMi43IDEyLjkgMTMgMjIuOSAyNi4xIDI1LjFjNTguMiA5LjcgMTA5LjkgMTIgMTU1LjYgNy45em01NC42LTMzMS4zYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnptLTQ4IDQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnptLTQ4IDQ4YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwbDY0IDY0YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnoiLz48L3N2Zz4="); | |
} | |
function _generate_menu($title, $key, $position, $icon, $menu_slug = null, $menu_items = []) { | |
global $submenu; | |
$menu_slug = $menu_slug ?? "edit.php?post_type=".$key."_news"; | |
$menu_pos = $position; // whatever position you want your menu to appear | |
// if no menu items are passed, create a default one | |
if (empty($menu_items)) { | |
$menu_items = array( | |
array( | |
'title' => 'News', | |
'slug' => 'edit.php?post_type='.$key.'_news', | |
'capability' => 'edit_posts' | |
), | |
array( | |
'title' => 'Pages', | |
'slug' => 'edit.php?post_type='.$key.'_page', | |
'capability' => 'edit_posts' | |
), | |
array( | |
'title' => 'Media', | |
'slug' => 'upload.php', | |
'capability' => 'upload_files' | |
) | |
); | |
} | |
// create the top level menu | |
add_menu_page($menu_slug, $title, 'edit_posts', $menu_slug, '', "data:image/svg+xml;base64,".$icon, $menu_pos); | |
// loops through $menu_items | |
foreach ($menu_items as $menu_item) { | |
add_submenu_page($menu_slug, $menu_item['title'], $menu_item['title'], $menu_item['capability'], $menu_item['slug'], ''); | |
} | |
} | |
function _flatten(array $array) { | |
$return = array(); | |
array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; }); | |
return $return; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment