This article details creating a WordPress plugin that provides in-app documentation, avoiding the need for external links to separate documentation. The solution integrates a helpful guide directly into the WordPress block editor, accessible while users actively work with the plugin.
The plugin utilizes custom post types (CPTs) and a modal-style guide component. The challenge lies in seamlessly integrating this guide into the editor without disrupting the user workflow.
The Goal: The plugin, a GraphQL server for WordPress, features CPTs edited via custom blocks ("GraphiQL client" and "Persisted query options"). Since GraphQL query creation can be complex, an integrated guide is crucial. This guide, accessed via a panel in the Document settings ("Welcome Guide"), provides a tutorial video and detailed instructions across multiple pages.
Implementation Steps:
-
Creating the Script: The process starts by scaffolding a new script to register a custom sidebar panel in the editor's Document settings. The author initially encounters challenges using the
PluginDocumentSettingPanel
component due to the need for a JavaScript build step (ESNext/JSX). The solution involves leveraging the@wordpress/create-block
package to scaffold a block, then modifying the generated code to register a regular script instead. This allows for ESNext compilation via webpack. A key detail is adding a dependency to thewp-edit-post
script to ensure proper loading of thewp.editPost
variable. -
Panel Restriction: To prevent the panel from appearing on unrelated CPTs, the author implements a PHP-based solution. This method checks the current post type using
get_editing_post_type()
and only registers the script if it matches the target CPT. This is a more efficient approach than using JavaScript to conditionally render the panel. -
Building the Guide: The guide itself is built using the WordPress
<guide></guide>
component and its associated<guidepage></guidepage>
for pagination. The author details the process of discovering this component through code searching and exploring the Gutenberg Storybook. The guide includes a video tutorial (hosted externally) and subsequent pages with detailed instructions. -
Content Integration: The guide's content is structured using
<guidepage></guidepage>
components, each containing HTML, potentially including other custom components. The author notes minor issues such as video embedding limitations within the<guide></guide>
component and the need for CSS improvements.
Bonus: Independent Documentation Access:
The author demonstrates how to create reusable components for documentation. A CacheControlDescription
component, for example, can be used within both the guide and a separate modal, improving user experience. Conditional rendering of the documentation access button based on block selection enhances usability.
Conclusion:
This detailed walkthrough effectively showcases the development of an integrated, in-app documentation system within the WordPress block editor. The author's experience highlights the importance of understanding both React and the WordPress block editor's architecture for successful plugin development. The solution provides a practical and reusable model for other plugin developers seeking to improve user onboarding and support.
The above is the detailed content of Adding a Custom Welcome Guide to the WordPress Block Editor. For more information, please follow other related articles on the PHP Chinese website!

If you’ve recently started working with GraphQL, or reviewed its pros and cons, you’ve no doubt heard things like “GraphQL doesn’t support caching” or

In this article we will be diving into the world of scrollbars. I know, it doesn’t sound too glamorous, but trust me, a well-designed page goes hand-in-hand

The Svelte transition API provides a way to animate components when they enter or leave the document, including custom Svelte transitions.

How much time do you spend designing the content presentation for your websites? When you write a new blog post or create a new page, are you thinking about

With the recent climb of Bitcoin’s price over 20k $USD, and to it recently breaking 30k, I thought it’s worth taking a deep dive back into creating Ethereum

npm commands run various tasks for you, either as a one-off or a continuously running process for things like starting a server or compiling code.

I was just chatting with Eric Meyer the other day and I remembered an Eric Meyer story from my formative years. I wrote a blog post about CSS specificity, and

The article discusses using CSS for text effects like shadows and gradients, optimizing them for performance, and enhancing user experience. It also lists resources for beginners.(159 characters)


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SublimeText3 Chinese version
Chinese version, very easy to use

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

SublimeText3 English version
Recommended: Win version, supports code prompts!

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.