get_plugin_page_hookname example


function add_menu_page( $page_title$menu_title$capability$menu_slug$callback = '', $icon_url = '', $position = null ) {
    global $menu$admin_page_hooks$_registered_pages$_parent_pages;

    $menu_slug = plugin_basename( $menu_slug );

    $admin_page_hooks[ $menu_slug ] = sanitize_title( $menu_title );

    $hookname = get_plugin_page_hookname( $menu_slug, '' );

    if ( ! empty( $callback ) && ! empty( $hookname ) && current_user_can( $capability ) ) {
        add_action( $hookname$callback );
    }

    if ( empty( $icon_url ) ) {
        $icon_url   = 'dashicons-admin-generic';
        $icon_class = 'menu-icon-generic ';
    } else {
        $icon_url   = set_url_scheme( $icon_url );
        $icon_class = '';
    }
$parent_file  = 'edit.php';
    $submenu_file = 'post-new.php';
} elseif ( 'attachment' === $post_type ) {
    if ( wp_redirect( admin_url( 'media-new.php' ) ) ) {
        exit;
    }
} else {
    $submenu_file = "post-new.php?post_type=$post_type";
    if ( isset( $post_type_object ) && $post_type_object->show_in_menu && true !== $post_type_object->show_in_menu ) {
        $parent_file = $post_type_object->show_in_menu;
        // What if there isn't a post-new.php item for this post type?         if ( ! isset( $_registered_pages[ get_plugin_page_hookname( "post-new.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
            if ( isset( $_registered_pages[ get_plugin_page_hookname( "edit.php?post_type=$post_type", $post_type_object->show_in_menu ) ] ) ) {
                // Fall back to edit.php for that post type, if it exists.                 $submenu_file = "edit.php?post_type=$post_type";
            } else {
                // Otherwise, give up and highlight the parent.                 $submenu_file = $parent_file;
            }
        }
    } else {
        $parent_file = "edit.php?post_type=$post_type";
    }
}
Home | Imprint | This part of the site doesn't use cookies.