FAQs

100

questions

FAQ hub aggregating questions from hooks, plugins, jobs, SOLID and WP-CLI sections — for interview prep, code review, and hiring WordPress developers.

Hooks

Hook actions

Can I cancel a deletion from inside delete_attachment?

No — this action fires as notification, not permission. It can't stop the delete from proceeding.

Used in

Can I read the image dimensions inside add_attachment?

Not yet — metadata generation happens afterward. Hook wp_generate_attachment_metadata if you need sizes or EXIF data.

Used in

Can I redirect the user somewhere custom after logout?

Yes — hook wp_logout (or the logout_redirect filter for more control over the target URL) and call wp_safe_redirect() followed by exit.

Used in

Can I redirect users away from wp-admin on admin_init?

Yes, that's a very common pattern — check current_user_can() and wp_redirect() + exit if the check fails, being careful to allow admin-ajax.php requests through.

Used in

Can I use after_setup_theme in a plugin?

Yes, but it's primarily meant for themes. Plugins usually use plugins_loaded or init instead.

Used in

View all in Hook actions

Hook filters

Can I hide the admin footer text entirely?

Return an empty string from the filter — WordPress will render the footer area with no text.

Used in

Can I remove a default body class instead of adding one?

Yes — search $classes with array_search() and unset() the key, then return the array.

Used in

Do I still need wp-login.php to exist after filtering login_url?

Only if something still links to it directly. This filter changes what wp_login_url() outputs; it doesn't disable the real wp-login.php endpoint.

Used in

Does an attachment post exist when this filter runs?

No — this fires before wp_insert_attachment() creates the post, so there's no attachment ID available yet.

Used in

Does changing wp_mail_from fix WordPress emails going to spam?

It helps, but deliverability mainly depends on SPF/DKIM/DMARC records and your mail sending method — this filter alone won't fix a misconfigured domain.

Used in

View all in Hook filters

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

Pactices cases Plugin development base 4WP-Plugins

4WP Booking FAQ

Does it require Elementor?

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

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

View all in 4WP Booking FAQ

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.

Used in

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.

Used in

Is it on WordPress.org?

Not yet. Install from the GitHub repository. An official directory listing has not been submitted.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

View all in 4WP Responsive

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

SOLID Principles in WordPress

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: Doesn’t OCP make code more complex with all these abstractions?

A: Initially yes, but it pays off as the project grows. Start simple – a few hooks are enough for small plugins. Add interfaces and abstract classes when you have 3+ similar implementations. The complexity is justified when it prevents breaking existing functionality while adding features.

Q: How does OCP relate to WordPress plugin updates?

A: OCP is crucial for plugin compatibility. If your plugin follows OCP (provides hooks), users can extend it safely. When you update, their extensions keep working because they’re not modifying your code. This is why editing vendor plugin files is dangerous – updates erase custom changes.

Q: How many hooks should I add to my WordPress plugin?

A: Add hooks at logical extension points – before/after major operations, when data changes, or when rendering output. Follow WordPress core’s approach: do_action('before_save_')apply_filters('the_content'), etc. Don’t overdo it – too many hooks make code hard to follow.

Q: Should every function have a filter in WordPress development?

A: No, only functions that return data users might want to modify. Use filters for content transformation (apply_filters('post_title', $title)), use actions for event notifications (do_action('post_saved', $id)). Internal helper functions don’t need hooks.

View all in SOLID Principles in WordPress

WordPress WP-CLI FAQ: Interview & Code Review Questions

WP-CLI Core Commands

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.

Used in

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.

Used in

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.

Used in

Should I pin a WordPress version when downloading?

For most installs, use the latest stable release without –version. Pin a version only when you intentionally need parity with production or a legacy environment.

Used in

What directory should I run wp core download in?

Use an empty directory for a fresh site. WP-CLI downloads core files into the current working directory. Mixing with existing files can leave stale plugins or themes from an old project.

Used in

View all in WP-CLI Core Commands

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

View all in WP-CLI Database

General Questions

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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.

Used in

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 plugins free?

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

Used in

Can I use several 4WP plugins on one site?

Yes. They are built as a suite. 4WP Bundle helps install, activate, and update when you run more than one.

Used in

Do I need a developer to use these tools?

No. Install from the plugin page or WordPress.org, activate in wp-admin, then follow the short setup on each product page. Settings and blocks live in the WordPress admin and editor.

Used in

How do I know a plugin is maintained?

Check the latest release on WordPress.org or GitHub, read the product page, and skim the matching article when one exists. Public repos and release notes are the audit trail.

Used in

What if I need a small custom change?

Start with the product documentation, then contact 4WP.dev for guided setup or a small configuration adjustment.

Used in

View all in For-Customers

For-Developers

Are there REST API and MCP integration examples?

Yes. 4WP Bundle exposes 4wp/v1 REST endpoints; MCP Abilities connects AI agents to WordPress via the Abilities API — both with public source on GitHub.

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

WP-CLI Maintenance

Do I need –allow-root?

Only when you run WP-CLI as root (common on some VPS setups). Prefer a dedicated deploy user that owns the site files. This simulator accepts the commands without –allow-root.

Used in

In which order should I update core and plugins?

Core first, then wp core update-db, then plugins. Plugins often require a minimum WordPress version; updating them against outdated core can cause fatals.

Used in

Should I also back up files, not only the database?

Yes on real servers. Use a dated directory outside the web root for tar archives of the site plus wp db export. This interactive challenge focuses on WP-CLI commands; file archives remain part of the full protocol.

Used in

What does DISALLOW_FILE_MODS actually block?

It disables plugin and theme install/update (and related file editing) from the WordPress admin UI. Updates then happen via WP-CLI or controlled deploy pipelines — which is what you want on production business sites.

Used in

Why does elementor-pro fail with Unauthorized?

Many premium plugins authenticate downloads against the vendor API using a license tied to the site. WP-CLI bulk update may not complete that handshake. Installing a verified zip with wp plugin install … --force --activate is the reliable production pattern.

Used in

View all in WP-CLI Maintenance

Uncategorized

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.

Used in

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.

How do I preview plugin updates before applying them?

Run wp plugin update --all --dry-run. This shows which plugins have updates available and what versions they would move to, without making any changes.

Used in

Is wp cache flush enough after a theme switch?

For the WordPress object cache, yes. But it does not clear page-level caches (WP Rocket, W3 Total Cache, Varnish, or CDN edge). After the deployment, also purge those separately — otherwise visitors may see the old theme from cache for hours.

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.

Smart FAQ Management

4WP FAQ

Not just another FAQ block. A smart wrapper that adds intelligence
without breaking your design.

Schema JSON-LD

Zero Duplication

Content-First

FSE Hub