{"id":314180,"date":"2026-05-26T22:06:14","date_gmt":"2026-05-26T22:06:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/frontend-h5p-editor\/"},"modified":"2026-05-26T22:13:26","modified_gmt":"2026-05-26T22:13:26","slug":"nest-frontend-editor-for-h5p","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/nest-frontend-editor-for-h5p\/","author":23487756,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0","stable_tag":"1.0","tested":"7.0","requires":"5.4","requires_php":"7.4","requires_plugins":null,"header_name":"Nest Frontend Editor for H5P","header_author":"IndiEgg Studios","header_description":"Provides front-end view, create, and edit pages for H5P content via shortcodes, with role-based permissions and URL rewriting for Remix Manager for H5P.","assets_banners_color":"","last_updated":"2026-05-26 22:13:26","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/ko-fi.com\/indiegg","header_plugin_uri":"https:\/\/indiegg.com\/nest-frontend-editor-for-h5p","header_author_uri":"https:\/\/indiegg.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":38,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"indiegg","date":"2026-05-26 22:13:26"}},"upgrade_notice":{"1.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3549823,"resolution":"1","location":"assets","locale":"","width":1200,"height":900},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3549823,"resolution":"2","location":"assets","locale":"","width":1200,"height":900},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3549823,"resolution":"3","location":"assets","locale":"","width":1200,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3549823,"resolution":"4","location":"assets","locale":"","width":1200,"height":900},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3549823,"resolution":"5","location":"assets","locale":"","width":1200,"height":900}},"screenshots":{"1":"Admin settings page showing the Frontend Pages selectors, Role Permissions matrix, and Unauthorized Redirect Behavior section.","2":"The H5P content editor loaded on a front-end WordPress page via the [nest_h5p_editor_edit] shortcode, with the WordPress admin menu hidden.","3":"The H5P content viewer loaded on a front-end page via the [nest_h5p_editor_view] shortcode.","4":"The H5P content creation editor loaded on a front-end page via the [nest_h5p_editor_create] shortcode.","5":"The H5P results page loaded on a front-end page via the [nest_h5p_editor_results] shortcode."}},"plugin_section":[],"plugin_tags":[4917,1332,2250,69177,2195],"plugin_category":[46],"plugin_contributors":[263117],"plugin_business_model":[],"class_list":["post-314180","plugin","type-plugin","status-publish","hentry","plugin_tags-content-management","plugin_tags-editor","plugin_tags-frontend","plugin_tags-h5p","plugin_tags-lms","plugin_category-editor-and-writing","plugin_contributors-indiegg","plugin_committers-indiegg"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/nest-frontend-editor-for-h5p.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/nest-frontend-editor-for-h5p\/assets\/screenshot-1.png?rev=3549823","caption":"Admin settings page showing the Frontend Pages selectors, Role Permissions matrix, and Unauthorized Redirect Behavior section."},{"src":"https:\/\/ps.w.org\/nest-frontend-editor-for-h5p\/assets\/screenshot-2.png?rev=3549823","caption":"The H5P content editor loaded on a front-end WordPress page via the [nest_h5p_editor_edit] shortcode, with the WordPress admin menu hidden."},{"src":"https:\/\/ps.w.org\/nest-frontend-editor-for-h5p\/assets\/screenshot-3.png?rev=3549823","caption":"The H5P content viewer loaded on a front-end page via the [nest_h5p_editor_view] shortcode."},{"src":"https:\/\/ps.w.org\/nest-frontend-editor-for-h5p\/assets\/screenshot-4.png?rev=3549823","caption":"The H5P content creation editor loaded on a front-end page via the [nest_h5p_editor_create] shortcode."},{"src":"https:\/\/ps.w.org\/nest-frontend-editor-for-h5p\/assets\/screenshot-5.png?rev=3549823","caption":"The H5P results page loaded on a front-end page via the [nest_h5p_editor_results] shortcode."}],"raw_content":"<!--section=description-->\n<p><strong>Nest Frontend Editor for H5P<\/strong> lets your users view, create, and edit H5P content without ever leaving the front end of your WordPress site.<\/p>\n\n<p>Place the shortcodes on any pages you choose, configure permissions per role, and let the plugin handle the rest. Works seamlessly with <strong>Remix Manager for H5P<\/strong> when its Library Link Behavior settings point to Nest front-end pages.<\/p>\n\n<p><strong>Shortcodes:<\/strong><\/p>\n\n<ul>\n<li><code>[nest_h5p_editor_view]<\/code> - Displays an H5P content item. Reads the item ID from the URL (<code>?h5p_id=X<\/code>).<\/li>\n<li><code>[nest_h5p_editor_create]<\/code> - Displays the H5P content creation editor.<\/li>\n<li><code>[nest_h5p_editor_edit]<\/code> - Displays the H5P content editor for an existing item. Reads the item ID from the URL (<code>?h5p_id=X<\/code>). Users may only edit content they own.<\/li>\n<li><code>[nest_h5p_editor_results]<\/code> - Displays the H5P results page for an existing item. Reads the item ID from the URL (<code>?h5p_id=X<\/code>).<\/li>\n<li><code>[nest_h5p_editor_link_view]<\/code> - Outputs a link to the front-end view page for the current H5P item. Accepts <code>text<\/code> and <code>class<\/code> attributes.<\/li>\n<li><code>[nest_h5p_editor_link_edit]<\/code> - Outputs a link to the front-end edit page for the current H5P item. Only renders if the current user owns the content. Accepts <code>text<\/code> and <code>class<\/code> attributes.<\/li>\n<li><code>[nest_h5p_editor_link_results]<\/code> - Outputs a link to the front-end results page for the current H5P item. Accepts <code>text<\/code> and <code>class<\/code> attributes.<\/li>\n<\/ul>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>Role-based permissions - all roles registered on the site are listed, including custom roles like Teacher or Instructor.<\/li>\n<li>Configurable unauthorized redirect behavior per action - redirect to home, login, or a custom URL.<\/li>\n<li>Logged-out users are always redirected to the login page.<\/li>\n<li>Auto-resizing iframes that adjust to content height on load, on user interaction, and after content type selection on the create page.<\/li>\n<li>Admin menu, admin bar, and footer are automatically hidden inside the iframe so users see a clean, focused experience with no WordPress admin UI visible.<\/li>\n<li>Ownership enforcement for the Edit shortcode - users can only edit H5P content they own.<\/li>\n<li>Results shortcode - display H5P results on the front end with role-based permission control.<\/li>\n<li>Link shortcodes - generate styled links between view, edit, and results pages for the current H5P item.<\/li>\n<li>Filter hooks (<code>rmh5p_view_url<\/code>, <code>rmh5p_edit_url<\/code>, <code>rmh5p_create_url<\/code>, <code>rmh5p_results_url<\/code>) integrate with Remix Manager for H5P when its Library Link Behavior settings point to Nest front-end pages.<\/li>\n<\/ul>\n\n<p>For full documentation visit <a href=\"https:\/\/indiegg.com\/nest-frontend-editor-for-h5p\/documentation\">indiegg.com\/nest-frontend-editor-for-h5p\/documentation<\/a>.<\/p>\n\n<p><strong>Disclaimer:<\/strong><\/p>\n\n<p>Nest Frontend Editor for H5P is an independent plugin and is not affiliated with, endorsed by, or sponsored by H5P or its developer, Joubel. H5P is a trademark of its respective owner.<\/p>\n\n<h3>Usage<\/h3>\n\n<h4>Setting up pages<\/h4>\n\n<p>Create one page per action. Add the shortcode to each:<\/p>\n\n<ul>\n<li>View page: <code>[nest_h5p_editor_view]<\/code><\/li>\n<li>Create page: <code>[nest_h5p_editor_create]<\/code><\/li>\n<li>Edit page: <code>[nest_h5p_editor_edit]<\/code><\/li>\n<li>Results page: <code>[nest_h5p_editor_results]<\/code><\/li>\n<\/ul>\n\n<p>Then go to <strong>Settings -&gt; Nest Frontend Editor for H5P<\/strong> and select each page from the dropdowns.<\/p>\n\n<h4>Permissions<\/h4>\n\n<p>Under <strong>Role Permissions<\/strong>, check which roles can access each action. All roles on the site are listed automatically, including custom roles.<\/p>\n\n<h4>Redirect behavior<\/h4>\n\n<p>Under <strong>Unauthorized Redirect Behavior<\/strong>, choose what happens when a logged-in user without permission tries to access each page. Options are:<\/p>\n\n<ul>\n<li>Redirect to home page<\/li>\n<li>Redirect to login page<\/li>\n<li>Redirect to a custom URL<\/li>\n<\/ul>\n\n<p>Logged-out users are always sent to the login page regardless of this setting.<\/p>\n\n<h4>Integration with Remix Manager for H5P<\/h4>\n\n<p>When both plugins are active and pages are configured, the Remix Manager Library Link Behavior settings can point View, Edit, and Results links to the matching Nest Frontend Editor for H5P pages.<\/p>\n\n<h4>Link shortcodes<\/h4>\n\n<p>Place these shortcodes on your view, edit, or results pages to generate navigation links between pages for the same H5P item. All three read the current <code>h5p_id<\/code> from the URL automatically.<\/p>\n\n<ul>\n<li><code>[nest_h5p_editor_link_view]<\/code> - link to the view page<\/li>\n<li><code>[nest_h5p_editor_link_edit]<\/code> - link to the edit page (only renders if the current user owns the content)<\/li>\n<li><code>[nest_h5p_editor_link_results]<\/code> - link to the results page<\/li>\n<\/ul>\n\n<p>All three accept optional attributes:<\/p>\n\n<ul>\n<li><code>text<\/code> - the link label. Example: <code>[nest_h5p_editor_link_view text=\"Watch this activity\"]<\/code><\/li>\n<li><code>class<\/code> - additional CSS classes. Example: <code>[nest_h5p_editor_link_edit class=\"button button-primary\"]<\/code><\/li>\n<\/ul>\n\n<p>Each link always includes the classes <code>nfeh5p-link<\/code> and a type-specific class (<code>nfeh5p-link-view<\/code>, <code>nfeh5p-link-edit<\/code>, <code>nfeh5p-link-results<\/code>) for styling in your theme CSS.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nest-frontend-editor-for-h5p<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Install and activate the official <a href=\"https:\/\/wordpress.org\/plugins\/h5p\/\">H5P plugin<\/a> if you have not already.<\/li>\n<li>Go to <strong>Settings -&gt; Nest Frontend Editor for H5P<\/strong> to configure pages, permissions, and redirect behavior.<\/li>\n<li>Create pages for View, Create, Edit, and Results, place the appropriate shortcode on each, and select them in the settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20remix%20manager%20for%20h5p%3F\"><h3>Do I need Remix Manager for H5P?<\/h3><\/dt>\n<dd><p>No. The shortcodes work independently. Remix Manager for H5P is only needed if you want its library table links to point to Nest front-end pages.<\/p><\/dd>\n<dt id=\"do%20i%20need%20all%20three%20pages%3F\"><h3>Do I need all three pages?<\/h3><\/dt>\n<dd><p>No. Set up only the pages you need. If you only want users to be able to edit existing content, you only need the Edit page. The shortcodes are fully independent of each other.<\/p><\/dd>\n<dt id=\"can%20users%20edit%20h5p%20content%20that%20belongs%20to%20someone%20else%3F\"><h3>Can users edit H5P content that belongs to someone else?<\/h3><\/dt>\n<dd><p>No. The <code>[nest_h5p_editor_edit]<\/code> shortcode checks ownership before rendering the iframe. Users who try to edit content they do not own are redirected immediately. If they want a customized version of someone else's content, they can use Remix Manager for H5P to create their own copy first.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20have%20not%20selected%20a%20page%20for%20an%20action%3F\"><h3>What happens if I have not selected a page for an action?<\/h3><\/dt>\n<dd><p>Links for that action are left unchanged, pointing to the WordPress admin. No broken links are generated.<\/p><\/dd>\n<dt id=\"why%20is%20the%20wordpress%20admin%20menu%20hidden%20inside%20the%20iframe%3F\"><h3>Why is the WordPress admin menu hidden inside the iframe?<\/h3><\/dt>\n<dd><p>The plugin automatically hides the WordPress sidebar, admin bar, and footer when an H5P page loads inside the iframe. This gives users a clean, focused experience with no WordPress admin UI visible. It is done by appending a parameter to the iframe URL and injecting a small CSS block in the admin when that parameter is detected. Normal admin access is completely unaffected.<\/p><\/dd>\n<dt id=\"can%20users%20create%20h5p%20content%20they%20do%20not%20have%20permission%20for%20in%20the%20admin%3F\"><h3>Can users create H5P content they do not have permission for in the admin?<\/h3><\/dt>\n<dd><p>No. The iframe loads the actual WordPress H5P admin page, so all of H5P's own permission checks still apply. Nest Frontend Editor for H5P adds a role-based permission layer on top of those existing checks.<\/p><\/dd>\n<dt id=\"why%20does%20the%20h5p%20editor%20look%20cut%20off%20or%20too%20small%3F\"><h3>Why does the H5P editor look cut off or too small?<\/h3><\/dt>\n<dd><p>The iframe starts at full viewport height and resizes automatically based on H5P's native resize events. If the editor still appears cut off, your theme may be applying a max-height or overflow:hidden to the page content area. You can override this with custom CSS targeting the <code>.nfeh5p-iframe-wrapper<\/code> class.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20custom%20user%20roles%3F\"><h3>Does this plugin work with custom user roles?<\/h3><\/dt>\n<dd><p>Yes. The permissions matrix is built dynamically from all roles registered on your site. Any custom role such as Teacher, Instructor, or Student will appear automatically.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20work%20with%20page%20builders%20like%20elementor%20or%20divi%3F\"><h3>Does this plugin work with page builders like Elementor or Divi?<\/h3><\/dt>\n<dd><p>Yes. The shortcodes output standard HTML and work in any context that supports WordPress shortcodes, including page builders. Minor CSS adjustments may be needed depending on how your page builder handles container widths.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20the%20h5p%20plugin%20is%20deactivated%3F\"><h3>What happens if the H5P plugin is deactivated?<\/h3><\/dt>\n<dd><p>Nest Frontend Editor for H5P checks whether H5P is active on every page load. If H5P is not active, an admin notice appears. The shortcodes will render empty iframes, so it is important to keep H5P active if the front-end pages are in use.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20%5Bnest_h5p_editor_view%5D%20and%20%5Bnest_h5p_editor_link_view%5D%3F\"><h3>What is the difference between [nest_h5p_editor_view] and [nest_h5p_editor_link_view]?<\/h3><\/dt>\n<dd><p>[nest_h5p_editor_view] embeds the H5P content viewer directly on the page as an iframe. <code>[nest_h5p_editor_link_view]<\/code> outputs a plain HTML link that points to the view page for the current H5P item. The link shortcodes are designed to be used as navigation between your view, edit, and results pages.<\/p><\/dd>\n<dt id=\"how%20do%20i%20customize%20the%20appearance%20of%20the%20link%20shortcodes%20to%20match%20my%20theme%3F\"><h3>How do I customize the appearance of the link shortcodes to match my theme?<\/h3><\/dt>\n<dd><p>The plugin includes default button styling for the link shortcodes. To override it, add custom CSS using your theme's Additional CSS option (Appearance -&gt; Customize -&gt; Additional CSS) or a plugin like Simple Custom CSS.<\/p>\n\n<p>The following classes are available to target:<\/p>\n\n<ul>\n<li><code>.nfeh5p-link<\/code> - applies to all three link types<\/li>\n<li><code>.nfeh5p-link-view<\/code> - the View link only<\/li>\n<li><code>.nfeh5p-link-edit<\/code> - the Edit link only<\/li>\n<li><code>.nfeh5p-link-results<\/code> - the Results link only<\/li>\n<\/ul>\n\n<p>Example: change the background color of all links:<\/p>\n\n<pre><code>.nfeh5p-link { background: #your-color; }\n<\/code><\/pre>\n\n<p>Example: style the View link differently from the others:<\/p>\n\n<pre><code>.nfeh5p-link-view { background: #your-color; border-color: #your-border-color; }\n<\/code><\/pre>\n\n<p>Example: override the hover state:<\/p>\n\n<pre><code>.nfeh5p-link-view:hover, .nfeh5p-link-edit:hover, .nfeh5p-link-results:hover { background: #your-hover-color; }\n<\/code><\/pre>\n\n<p>If your custom CSS is not taking effect, add <code>!important<\/code> to the property you are overriding, for example:<\/p>\n\n<pre><code>.nfeh5p-link { background: #your-color !important; }\n<\/code><\/pre><\/dd>\n<dt id=\"where%20can%20i%20get%20support%20for%20this%20plugin%3F\"><h3>Where can I get support for this plugin?<\/h3><\/dt>\n<dd><p>For support, visit the <a href=\"https:\/\/wordpress.org\/support\/plugin\/nest-frontend-editor-for-h5p\/\">WordPress.org support forum<\/a> or contact us at <a href=\"https:\/\/indiegg.com\/contact-us\/\">indiegg.com\/contact-us<\/a>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Four display shortcodes: nest_h5p_editor_view, nest_h5p_editor_create, nest_h5p_editor_edit, nest_h5p_editor_results.<\/li>\n<li>Three navigation link shortcodes: nest_h5p_editor_link_view, nest_h5p_editor_link_edit, nest_h5p_editor_link_results, each with text and class attributes.<\/li>\n<li>Role-based permissions matrix with support for custom roles, including can_view_results permission.<\/li>\n<li>Configurable unauthorized redirect behavior per action (home, login, or custom URL).<\/li>\n<li>Logged-out users always redirected to login page.<\/li>\n<li>Auto-resizing iframes with type-specific CSS classes (nfeh5p-view-iframe, nfeh5p-edit-iframe, nfeh5p-create-iframe, nfeh5p-results-iframe).<\/li>\n<li>Admin menu, admin bar, and footer hidden inside iframes via nfeh5p_frame parameter.<\/li>\n<li>Horizontal scrollbar suppressed inside all iframes.<\/li>\n<li>Type-specific CSS injection inside iframes - H5P sidebar hidden on view and results pages.<\/li>\n<li>Ownership enforcement for the nest_h5p_editor_edit shortcode.<\/li>\n<li>Filter hooks for integration with Remix Manager for H5P (rmh5p_view_url, rmh5p_edit_url, rmh5p_create_url, rmh5p_results_url).<\/li>\n<\/ul>","raw_excerpt":"Provides front-end view, create, edit, and results pages for H5P content via shortcodes, with role-based permissions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/314180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=314180"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/indiegg"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=314180"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=314180"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=314180"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=314180"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=314180"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=314180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}