Home FAQ

80 questions answered

WordPress & Gutenberg FAQ

Answers pulled from across 4wp.dev — plugins, architectures, development, jobs, and audience guides. Powered by the 4WP FAQ registry.

About 4WP.dev

Do I need prior WordPress experience?

Basic WordPress knowledge is helpful, but not mandatory.
4WP.dev is designed to support progressive growth, helping developers move step by step toward deeper expertise.

How can I get involved?

You can start by exploring the content, joining discussions, and following the learning paths.
4WP.dev grows through active participation and shared experience.

Is 4WP.dev a course or a community?

It’s both.
4WP.dev combines structured learning paths with a developer community focused on sharing experience, best practices, and real production knowledge.

Is 4WP.dev suitable for professional developers?

Yes.
The platform is built for developers who want to level up professionally, understand WordPress internals, and work with production-grade solutions.

What is 4WP.dev?

4WP.dev is a WordPress-focused platform for developers.
We bring together developers who want to build modern, scalable WordPress solutions through real-world practice, not theory.

View all in About 4WP.dev

For-Companies

Can you rescue or refactor an existing WordPress plugin?

Yes — common requests include Gutenberg migration, security hardening, test coverage, REST API cleanup, and SOLID restructuring without breaking live sites.

Do you build FSE themes and block libraries?

Yes. Full Site Editing themes, reusable block patterns, theme.json design systems, and editor-only block addons for agency design systems are core strengths.

Does 4WP.dev work with agency white-label workflows?

Yes. Engagements can run under your agency brand with direct technical communication, clear handoff docs, and Git-based delivery your team can maintain.

How do I evaluate expertise before subcontracting?

Audit open-source repos on GitHub, read architecture docs, inspect release cadence on WordPress.org, and review plugin singles on 4wp.dev — all public proof of how code is structured and shipped.

View all in For-Companies

For-Customers

Are 4WP Gutenberg blocks compatible with my theme?

Yes. Blocks follow WordPress block APIs and work with block themes (FSE) and classic themes that support the Block Editor. They inherit your theme typography and spacing where possible.

Are 4WP plugins free?

Most 4WP plugins are open source (GPL v2+) and free to install. Some are on WordPress.org; others install from GitHub via the 4WP Bundle dashboard. There are no hidden license traps.

Can I use multiple 4WP plugins together?

Yes. Plugins are designed as an ecosystem. 4WP Bundle helps manage install, activate, and update when you run several 4WP tools on one site.

Do I need coding skills to use 4WP plugins?

No. 4WP plugins are built for the WordPress admin and Block Editor. Install from the plugin catalog, follow the setup guide on each plugin page, and configure options in wp-admin — no PHP or HTML required.

How do I get help setting up a plugin?

Start with the plugin documentation on 4wp.dev, then contact 4WP.dev for guided setup or a small configuration adjustment if you need hands-on help.

View all in For-Customers

For-Developers

Can I fork 4WP code for client projects?

Yes, under GPL v2+. Fork, adapt, and ship — respect the license and attribution. Many patterns (block wrappers, REST controllers, inventory tables) are reusable starting points for commercial work.

Does 4WP.dev cover modern Block Editor APIs?

Yes — block.json, InnerBlocks, block variations, Interactivity API, block bindings, Query Loop extensions, and editor sidebar plugins appear across the suite (FAQ, Advanced Code, QL Blocks, SEO Helper, MCP Abilities).

How does 4WP.dev teach Gutenberg block development?

Study plugin singles under /plugin/, clone repos, and follow guides on hooks, blocks, inner blocks, Interactivity API, and block bindings. Each plugin is a case study — not a toy demo.

How is 4WP.dev different from generic WordPress tutorials?

Content is anchored in shipped plugins — real settings screens, edge cases, release history, and SEO/GSC workflows. You learn from code that runs in production, not isolated snippets.

View all in For-Developers

Jobs

Are there freelance WordPress developer opportunities?

Yes. Many engagements start as freelance or part-time WordPress block developer work before a longer hire. Share your GitHub, plugin contributions, and Gutenberg experience when you reach out.

Used in

Are WordPress developer jobs remote?

Most 4WP.dev collaborations are remote-friendly. Specify timezone and availability when you contact us — whether you are applying for a role or hiring for your distributed team.

Used in

Can I hire a Gutenberg block developer for a specific project?

Yes — Gutenberg developer for hire covers custom blocks, inner blocks, block bindings, editor sidebar tools, and block libraries for agencies. For full agency subcontract scope, see also For Companies.

Used in

How do I hire a WordPress developer through 4WP.dev?

Use the Contacts popup on this page or visit Contacts. Share role scope, stack (Gutenberg, REST, WooCommerce, etc.), and timeline. Review the open-source portfolio first to see production code quality.

Used in

What are the candidate preparation checklists?

Coming soon: structured guides to prepare for WordPress technical interviews — Gutenberg APIs, PHP architecture, hooks, REST, testing, and how to demo a plugin from the 4WP ecosystem or your own repos.

Used in

View all in Jobs

4WP Plugins development FAQ

4WP Booking

Does it require Elementor?

No. Elementor is optional. The Gutenberg block and [forwp_booking] shortcode work on any block theme without page builders.

Is 4WP Booking an official Clinic Cards plugin?

No. Clinic Cards is a third-party service by Cliniccards Corp. 4WP Booking is an independent product by 4wp.dev that communicates with Clinic Cards via their documented API.

What is Clinic Cards?

Clinic Cards is a cloud CRM for dental clinics — interactive schedule, patient cards, visual treatment plans, finances, inventory, online booking, and eHealth integration. 4WP Booking connects your WordPress site to their public API.

What patient data is sent to Clinic Cards?

When a visitor submits the booking form: name, phone, email, optional comment, selected service, date, and time. Data is sent only on submit, not during browsing.

Where is the Clinic Cards API key stored?

In WordPress options on your server. The key is never included in front-end HTML or JavaScript — all API requests are server-side HTTPS calls to cliniccards.com/api.

View all in 4WP Booking

4WP Bundle

Do I need 4WP Bundle to use other 4WP plugins?

No. Each 4WP plugin works standalone. Bundle is recommended when you run several 4WP plugins and want one dashboard, catalog sync with GitHub, and shared addon blocks in the editor.

Used in

How do I enable or disable an addon block?

Go to 4WP Bundle → Addons, check or uncheck each addon, and click Save. Disabled addons are not registered on init, so they disappear from the block inserter.

Used in

How do I install from GitHub?

Download the zip from github.com/4wpdev/4wp-bundle, upload via Plugins → Add New, or use the Bundle dashboard to install sibling plugins from the catalog. Activate under Plugins.

Used in

How does the plugin dashboard work?

Under 4WP Bundle → Blocks, the UI lists every installed 4wp-* plugin and compares versions against the remote plugins.json manifest from GitHub. You can install missing plugins via download URL, activate or deactivate, update when a newer release exists, and open README or documentation links.

Used in

Is 4WP Bundle free and open source?

Yes — GPL v2 or later. Source on GitHub, maintained by 4WP.dev. Not on WordPress.org yet; install from GitHub or via the ecosystem dashboard.

Used in

View all in 4WP Bundle

4WP FAQ

Are drafts included?

Yes, drafts are also scanned and shown as sources. Status is visible in the “Used in” list on FAQ Cards when sources are enabled.

Used in

How do category filters stay in sync?

List and Categories share include/exclude even when they sit in different columns. Two categories on the List → the same two in the nav. More on the nav → the List includes those too. Empty include on one side inherits the other; empty on both means all categories. All categories always shows that synced set, not a different universe of questions.

Used in

How does the plugin find FAQ items?

It scans all posts looking for forwp/faq wrapper. Inside, it takes Accordion items/Details blocks and extracts: question, answer, post_id, post_type, and permalink.

How FAQ items are found

Used in

How to build a FAQ hub?

Complete registry setup, run a rescan, then in the Site Editor add 4WP FAQ Categories (sidebar) and 4WP FAQ List (main column). Optionally add a core Search block and turn on 4WP FAQ → Filter 4WP FAQ List. Questions stay on the real pages; the hub only reads the registry.

Used in

How to convert Accordion to FAQ?

Add core Accordion (or item) → Click “Convert to FAQ” → Plugin wraps it in forwp/faq without changing appearance.

Convert to FAQ button

Used in

View all in 4WP FAQ

4WP Health

Does Apple Health work in the browser?

Not yet. Apple Health has no web OAuth flow. A future release may add an iOS bridge or third-party aggregator through the provider registry.

Used in

Is my health data sent to 4wp.dev?

No. Samples are stored in your WordPress database on your server. The plugin does not phone home to 4wp.dev.

Used in

What Google APIs are used?

Google OAuth for authorization and the Google Fitness API for activity datasets — steps, distance, calories, and exercise sessions — only after the user consents and an admin saves valid OAuth credentials.

Used in

What is 4WP Health?

A WordPress plugin that lets logged-in users connect Google Health / Fitness data — with admin charts, Gutenberg metric blocks, REST endpoints, and a provider registry for future sources.

Used in

View all in 4WP Health

4WP Icons

Can I use custom SVG?

Yes. Choose the custom SVG option in the icon library when Lucide does not include your mark — useful for logos and client-specific assets.

Used in

Does it work with core blocks?

Yes. Toolbar controls add icons to Button, Heading, Paragraph, List, and Quote blocks in addition to the standalone 4WP Icon block.

Used in

Is there front-end JavaScript for icons?

No. Icons render as inline SVG on the server. Visitors do not load a Lucide React runtime — keeping pages lightweight.

Used in

What is 4WP Icons?

A Gutenberg block plugin that brings the Lucide icon set (1000+ icons) into WordPress with a searchable picker, custom SVG support, links, and inline icons for selected core blocks.

Used in

Where do I get the plugin?

Source and releases are on GitHub. It powers iconography across 4WP.dev and ships as part of the 4WP Bundle ecosystem.

Used in

View all in 4WP Icons

4WP Multilingual FSE

Do I need separate templates for each language?

No. Templates keep base slugs like header. You create locale-specific template parts (header-en, footer-de, etc.) or map custom slugs in the admin table.

Does it change the Site Editor or only the front end?

Swapping runs on the front end (and is suspended during admin/REST). Editors still manage all parts in the Site Editor; admin tabs help map, clone, and audit coverage.

Does it work with block patterns?

Version 0.2 adds pattern language scope and filters the block pattern inserter via REST so editors see patterns relevant to the active language.

What does 4WP Multilingual FSE do?

It resolves base FSE template part slugs (header, footer, and custom parts) to language-specific versions on the front end, based on the active Polylang or WPML locale.

What happens if a language-specific part is missing?

The resolver falls back to the base slug so the site keeps working. The Design System tab highlights missing variants so you can clone them in one click.

View all in 4WP Multilingual FSE

4WP Planner

Does it integrate with Google Calendar?

MVP includes ICS feed export and per-item “Add to Google Calendar” links. Two-way Google OAuth sync is on the roadmap — see GOOGLE-SETUP.md in the repository for current setup notes.

Does it publish content or run automations?

No. Planning only — no automated actions. 4WP Planner helps you organize work and due dates; it does not post to WordPress, social networks, or deploy plugins on your behalf.

Is it ready for production?

No — early-stage development. The plugin is actively evolving (currently v0.3.0). APIs, admin screens, and calendar sync may change between releases. Use on staging or internal installs until we publish a stable roadmap.

Is there a REST API?

Yes — namespace fwpp/v1 with routes for projects, plans, items, calendars, insights, and meta. Useful for future dashboards or internal tooling; treat endpoints as unstable during early development.

View all in 4WP Planner

4WP Responsive

Can I use custom spacing values?

Yes. Presets use named utility classes; arbitrary values use a has-forwp-*-custom class with a CSS variable (for example --forwp-padding-top-mobile: 150px) instead of inline styles.

Do I need a custom block?

No. The plugin extends blocks that already support spacing, typography, and alignment — such as Heading, Paragraph, Group, and List — via sidebar controls.

Does it add JavaScript on the front end?

No. Output is limited to utility CSS classes and CSS variables. A single generated stylesheet handles responsive rules — no front-end script dependency.

How does it use theme.json?

Spacing and font-size presets are read from the active theme’s theme.json. Breakpoints can be defined in settings.custom.breakpoints; when present, they override plugin defaults and lock conflicting admin fields.

Is 4WP Responsive on WordPress.org?

Not yet. The plugin has not been submitted to the official WordPress.org directory. Install and review the source from the GitHub repository.

View all in 4WP Responsive

SOLID

Q: Can I use OCP without object-oriented programming in WordPress?

A: Absolutely! WordPress hooks (add_actionadd_filter) are a perfect OCP implementation using procedural code. Your functions stay closed (working code), others extend via hooks (adding functionality). OOP adds more tools, but hooks alone achieve OCP beautifully.

Q: Do I need a full DI framework?

A: Not at all. A simple array-based container handles 95% of cases. For larger plugins, consider PHP-DI or Pimple. But starting with constructor injection and interfaces is enough.

Q: Does LSP mean I can never override parent methods?

A: No! Overriding is fine as long as the contract is preserved. You can make behavior more specific, optimize performance, or add features — but you cannot break the promises the parent made (same return types, no new exceptions, same preconditions).

Q: Does SRP mean one function per file in WordPress?

A: No, SRP is about responsibility, not file count. You can have multiple related functions in one file as long as they serve the same high-level responsibility. For example, all post validation functions can live in post-validation.php, while email functions go in email-notifications.php.

Q: Does WordPress core follow DIP?

A: Partially. The Hooks API is an excellent abstraction layer — plugins depend on the hook system, not on core internals. But older WordPress code uses global functions and static calls heavily.

View all in SOLID

WP-CLI

WP-CLI Core

Can I install WordPress in a subdirectory with WP-CLI?

Yes. Pass the full URL including the path to wp core install –url=. Download and config steps stay the same; only the site URL changes.

Can I run wp core install without wp config create?

No. WordPress needs database credentials in wp-config.php before installation. Without config, WP-CLI cannot connect to MySQL and the install will fail.

Can I use wp core update –minor on production?

Yes, and it is recommended for automated pipelines. The –minor flag restricts updates to the current major branch (e.g. 6.x → 6.x patch), skipping major version jumps.

Do I always need wp db create?

Only when the database named in wp-config.php does not exist yet. On shared hosting the database is often pre-created — then skip this step. On local dev, create it with WP-CLI.

Do I need Git on the server to run this workflow?

No. Step 4 accepts both git pull and tar -xzf. If the server has Git, pull the branch. If not, upload a tar archive via SFTP and extract it. All other steps are identical.

View all in WP-CLI Core

WP-CLI Database

Does wp db import drop the existing database before importing?

Yes. WP-CLI runs the .sql file against the current database, which typically begins with DROP TABLE IF EXISTS statements for each table. The result is a clean replacement of the existing data, not a merge. This is why the export step before import is critical — anything not in the backup file will not exist after the import.

How do I know the backup I am importing is from the right environment?

Run grep 'siteurl' backup.sql | head -5 before importing. The siteurl value in the dump shows which site and domain the backup came from. If it shows a localhost or staging URL, you will need to run wp search-replace after the import to fix all domain references.

What credentials does wp db import use?

WP-CLI reads the database host, name, user, and password directly from wp-config.php. You do not need to pass credentials on the command line. This is why wp db import backup.sql works without any additional flags.

What if the import fails halfway through?

The database may be in a partially restored state. First, check the error message — it usually points to a specific table or SQL statement. If the import file is valid, try running it again (WP-CLI’s import is generally idempotent for standard WordPress dumps because each table is dropped before recreating). If the file itself is corrupted, you need an earlier backup.

What is the difference between wp db export and a manual mysqldump?

wp db export is a thin wrapper around mysqldump that reads credentials from wp-config.php automatically. The resulting .sql file is compatible with wp db import and standard MySQL import tools. The main advantage over raw mysqldump is that you do not need to manually pass host, user, password, and database name on the command line.

View all in WP-CLI Database

Still have questions?

Reach out via contacts or explore the plugin docs if you are building with 4WP FAQ yourself.