title |
---|
Resources |
These are some Engineering Standards in the greater WordPress Ecosystem we like:
- 10up/Engineering-Best-Practices
- WPVIP Technical Reference
- Human Made Engineering Handbook
- inpsyde/php-coding-standards
- WordPress The Right Way
- Gutenberg Storybook
- Plugin Handbook
- Theme Handbook
- HTTP API
- REST API Handbook
- $wpdb API
- Block Editor Handbook (Gutenberg Project)
- @wordpress/scripts build tooling
- @wordpress/data library
- @wordpress/components reference
- Dashicons Reference | @wordpress/icons Library
- Conditional Tags
- Determining Directories & URLs
- PHP Global Variables
- Internationalization (i18n)
- Accessibility Handbook (a11y)
- WordPress TV
- Learn WordPress
- Understanding WordPress' Directory Structure
- Understanding WordPress' Heartbeat API
- Understanding WordPress Rewrite API
- Understanding @wordpress/data Redux-like stores
- Understanding WordPress SlotFill's in JavaScript UIs
- Understanding Full Site Editing/Block Themes
- Generate WP boilerplate code generator
- YouMightNotNeedjQuery.com
- Locutus.io/php
Stack Overflow, The Codex and Solutions found on blogs are often excellent starting points to learn and develop solutions. However, many solutions aren't written to consider enterprise needs, high-traffic sites or large-scale environments so we discourage direct-copying code and adding @see
references to solutions.
When integrating someone else's solution, please consider the following:
- Are other developers on the thread pointing out edge-cases, performance concerns or other issues the original author didn't code for?
- Will this scale in a high-traffic environment? Can performance be better addressed through caching or storing data that's resource-intensive to generate?
- Are there enough filters and actions for modification? Perhaps add some.
- Are variable names and function names clear? Please clarify them for our purposes.
- Is this functionality "right-sized?" Perhaps break large procedural functions into helpers.
- Does the author properly sanitize and validate user input while late-escaping output?
- Does this solution leverage language features where WordPress provides helpers to handle compatibility (i.e.
wp_json_encode()
, Filesystem API, DateTime solutions, etc)?