=== Admin Menu in Frontend ===
Contributors: kostyatereshchuk
Tags: admin menu, frontend, admin, dashboard, toolbar
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.2.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Shows the WordPress admin menu on the public pages of your site, so every admin screen is one click away while you view the site.

== Description ==

Admin Menu in Frontend adds the option "Show the admin menu when viewing the site" to your profile. Turn it on, and the admin menu you know from the dashboard appears on the public pages of your site: the same items, the same counters, the same colour scheme, with fly-out submenus.

* **The real admin menu.** The plugin keeps a copy of the menu as WordPress renders it for you in the dashboard, including the menus of your other plugins, and styles it with WordPress's own admin stylesheet and your admin colour scheme.
* **Pinned or hidden.** Keep the menu open next to the page, or unpin it: it then waits as a thin strip at the edge of the screen and slides out when you point at it.
* **Collapsed to icons**, as in the dashboard.
* **Keyboard accessible.** Tab into the menu and it opens; submenus open on focus, Escape closes them.
* **Back to where you were.** In the dashboard, the close (×) button in the toolbar returns you to the last public page you viewed.
* **Out of the way where it does not belong:** not shown in the Customizer, in embeds, inside iframes, or in the edit modes of popular page builders.
* **Light.** No jQuery on your public pages; nothing at all is loaded for visitors or for users who did not turn the option on.

Each user decides for themselves. The plugin turns the option on for the user who activates it; everyone else turns it on in their own profile.

[youtube https://www.youtube.com/watch?v=3p6-w2sbkzc]

= For developers =

The filter `admin_menu_in_frontend_show` decides whether the menu is shown on the current page:

`add_filter( 'admin_menu_in_frontend_show', function ( $show, $user_id ) {
	return $show && ! is_page( 'checkout' );
}, 10, 2 );`

== Installation ==

1. Install and activate the plugin from **Plugins > Add New**.
2. Open any public page of your site. The admin menu is there for you, the user who activated the plugin.
3. Other users turn it on under **Users > Profile > Admin Menu**.

== Frequently Asked Questions ==

= The menu does not appear on my site. =

The menu is copied from the dashboard, so open any dashboard screen once after turning the option on, then reload the public page. Also check that the option is on in your profile, and that you are not on a phone: on screens narrower than 783 pixels only the toolbar is shown, as in the dashboard.

= Why does a new plugin's menu not appear yet? =

The copy is refreshed whenever you open a dashboard screen and the menu has changed. Open the dashboard once and it is there.

= Does it change my theme's design? =

When the menu is pinned, the page moves aside by the width of the menu. Unpin it ("Keep menu open" button) and it overlays the page only while you point at it. Visitors never see anything.

= Does it work with page builders? =

The menu is hidden inside iframes and in the edit modes of Elementor, Beaver Builder, Divi, Oxygen, Bricks, Brizy, WPBakery, Thrive Architect and Breakdance. Use the `admin_menu_in_frontend_show` filter for anything else.

== Screenshots ==

1. The admin menu on a public page, with a submenu open.

== Changelog ==

= 1.2.0 =
* Rebuilt for WordPress 7: the menu now uses WordPress's own admin stylesheet and your admin colour scheme, so it looks exactly as in the dashboard and follows future WordPress changes.
* The menu is copied on the server as WordPress renders it, instead of being sent from the browser, and it is stored per site on multisite.
* No jQuery on public pages any more.
* Keyboard access: the menu opens on focus, submenus open on focus and close with Escape.
* Submenus stay inside the window, and a tall menu scrolls on its own.
* Theme styles no longer leak into the menu (underlined links, fonts, button styles).
* Hidden in the Customizer, embeds, iframes and page-builder edit modes.
* The option is turned on for the user who activates the plugin and now sits in the profile's Personal Options.
* The close button returns only to pages of your own site.
* All texts are translatable.
* Removes its data when deleted.
* Requires WordPress 6.2 and PHP 7.4.

= 1.1.1 =
* Fixed view if page is RTL.
* Small fixes in code.

= 1.1 =
* Added new feature - closing admin panel (turn back to previous page).
* Tested in new WordPress 4.9.

= 1.0.2 =
* Added "Fixate menu" button to admin menu which allows to fix or auto hide the menu.
* Fixed "submenu cutting by screen" issue.
* Fixed menu scrolling if height of the "body" tag is small.

= 1.0.1 =
* Fixed "sub menu's not showing up in some themes" issue.
* Prevented from rewriting of menu styles by WordPress theme.
* Improved admin menu scrolling.

= 1.0 =
* First version of this plugin.

== Upgrade Notice ==

= 1.2.0 =
Rebuilt for WordPress 7: the real admin menu with your colour scheme, keyboard access, no jQuery on public pages. Open the dashboard once after updating to refresh the menu.
