Documentation · Developer Documentation
Contribution Guidelines
This page explains how to contribute changes to the plugin at a public-safe level. Internal class names, internal constants and references to private release infrastructure are not published here.
When to use this document
Read this document when you are about to:
- Open a pull request that fixes a bug, adds a feature, or improves documentation.
- Translate the plugin into a new language.
- Submit a security report.
Overview
Contributions are accepted through pull requests. Every change should:
- Match the existing structure and conventions (see Coding Standards).
- Be covered by unit tests when feasible (see Testing Guide).
- Include translatable strings using the plugin's text domain (see Internationalization For Developers).
- Apply the right sanitisation and escaping (see Sanitization And Escaping) and respect the high-level security model (see Security And Capability Checks).
- Update the relevant documentation under
docs/en/when publicly observable behaviour changes — and keep that documentation public-safe.
Requirements or prerequisites
- Git installed locally and a fork of the repository.
- The PHP and WordPress versions declared in the plugin header.
- Composer installed for development dependencies (test framework only).
- A working local WordPress installation to validate changes that go beyond unit-testable logic (see Local Development Setup).
Step by step instructions
- Fork the repository and create a feature branch.
- Make your change. Follow the public-safe writing guidance for any
documentation updates: do not add internal class names, option keys,
REST/AJAX route names, cron hook names, capability/nonce identifiers or
release-infrastructure details to the published
docs/set. - Add or update unit tests where feasible.
- Run the test suite locally before opening the pull request.
- Open a pull request from your branch. Describe the change, the testing you performed, and any documentation updates.
Security reports
If you believe you have discovered a security issue, do not open a public issue. Contact AD Promotion privately so the report can be triaged and fixed before disclosure.
Translations
If you would like to contribute a translation, base your work on the
project's POT file under /languages and submit your .po / .mo files
through the normal pull-request process. See
Internationalization For Developers.
Public documentation notice. This page provides a high-level integration overview only. Internal implementation details, private APIs, storage internals and security-sensitive release infrastructure are maintained separately and are not part of the public documentation.