Contents
Introduction
WordPress powers over 40% of the web, and its continued success relies on a vibrant community of contributors. Contributing to WordPress Core is not only personally rewarding but also helps millions of users worldwide. This guide is a serious, detailed and extensive walkthrough for anyone looking to make meaningful contributions.
Why Contribute to Core
- Learn by Doing: Real-world experience with PHP, JavaScript, CSS, and the REST API.
- Shape the Future: Influence new features, security fixes, and performance improvements.
- Community Recognition: Earn badges, props in commits, and respect within the WordPress ecosystem.
- Professional Growth: Showcase open source contributions on your résumé or portfolio.
Prerequisites
- Basic familiarity with Git and the command line.
- Comfortable reading and writing PHP, JavaScript, CSS, and HTML.
- A free WordPress.org account (register here).
- Understanding of Trac and the WordPress code review process (Core Handbook).
Setting Up Your Development Environment
- Clone the Repository:
git clone https://github.com/WordPress/wordpress-develop.git
- Install Dependencies: Use Composer and npm:
composer install npm install npm run build
- Set Up a Local Server: Use WP-CLI and Docker or Local by Flywheel. Example with WP-CLI:
wp config create --dbname=wp_test --dbuser=root --dbpass=pass wp core install --url=localhost --title=WP Dev --admin_user=admin --admin_password=admin --admin_email=you@example.com
Understanding the Workflow
The WordPress Core workflow consists of these high-level steps:
Step | Description |
---|---|
Identify Ticket | Pick an issue from Trac based on severity or component. |
Create a Branch | Branch off trunk and name it ticket/####/short-description . |
Develop Test | Write code, add unit tests, follow Coding Standards. |
Create a Patch | Generate a .diff or .patch via Trac or GitHub and attach to the ticket. |
Code Review | Address feedback from Core Committers iterate until approval. |
Commit Close | Commit to trunk or merge to the release branch close ticket. |
Communication Channels
- Core Slack: #core channel for real-time help.
- Make Core Blog: Read updates at make.wordpress.org/core.
- Weekly Meetings: Join on Slack or catch up via meeting notes.
Coding Standards Best Practices
- PHP: PSR-2 style, escaping functions, internationalization wrapping (
__()
,_e()
). - JavaScript: ESLint with
wp-scripts
, jQuery_free code when possible, REST API conventions. - CSS: Follow CSS Standard, use variables in Gutenberg.
- Documentation: Inline docblocks, update
readme.html
, Handbooks, inline comments.
Trac Ticket Management
Trac is the authoritative bug tracker for Core. Key actions:
- Comment: Ask for clarification or propose alternatives.
- Patch Attachment: Attach
.diff
files, ensure proper formatting. - Tag: Use keywords like
has-patch
,needs-docs
,close
. - Resolve Ticket: When your patch lands, mark as
closed
orreopened
as needed.
Testing Quality Assurance
- Unit Tests: PHP Unit for server-side, Jest for JS. Ensure coverage and pass Travis CI.
- Integration Tests: Browser tests with Puppeteer or Selenium.
- Performance: Benchmark new code paths, avoid regressions.
- Accessibility: Follow WCAG guidelines use aria attributes.
Specialized Contribution Areas
- Docs: Improve documentation at /docs.
- Accessibility: Join the Accessibility team.
- Polyglots: Translate WordPress UI see Polyglots handbook.
- Support: Help users on forums.
Advanced Topics
Release Leads Project Management
Each major release has designated leads and deputies. Roles include coordinating feature freezes, scheduling, and version scoping.
Security Contributions
Security issues are handled privately via HackerOne. Never disclose before release.
Tips for Success
- Start Small: Tackle good first bugs tagged in Trac.
- Be Patient: Reviews can take time address feedback graciously.
- Stay Informed: Subscribe to the Core blog and release emails.
- Ask Questions: Use Slack or the #core IRC channel politely.
- Collaborate: Offer to review others’ patches once you have experience.
Further Reading Resources
- Core Contributor Handbook
- Block Editor Handbook
- Community Handbook
- Polyglots Handbook
- Design Handbook
Conclusion
Contributing to WordPress Core is a journey of continuous learning and collaboration. Whether youre fixing a typo, building a new API endpoint, or leading a release, every contribution counts. Dive in, connect with fellow contributors, and help make WordPress better for everyone.
|
Acepto donaciones de BAT's mediante el navegador Brave 🙂 |