Thank you for your interest in contributing! Here is everything you need to get started.
- π Report bugs β open a GitHub Issue
- π‘ Suggest features β open an issue with the
enhancementlabel - π§ Submit a pull request β fixes, improvements, or new features
- π Translations β submit a
.pofile for your language
- PHP 8.0+
- Composer
- Node.js 18+ and npm
- WordPress 6.8+
git clone https://github.com/fronttheme/simple-post-like.git
cd simple-post-like
# Install PHP dependencies
composer install
# Install Node dependencies and compile SCSS
npm install
npm run devnpm run dev watches for SCSS changes and recompiles automatically.
simple-post-like/
βββ assets/
β βββ css/ # Compiled CSS (committed to git)
β βββ js/ # Vanilla ES6 (no build step)
β βββ scss/ # SCSS source
β βββ _variables.scss
β βββ simple-post-like.scss
β βββ admin.scss
β βββ frontend/
β βββ admin/
βββ includes/
β βββ classes/ # PHP classes (PSR-4 autoloaded)
β βββ traits/
βββ languages/ # Translation files
βββ simple-post-like.php # Plugin entry point
βββ composer.json
βββ package.json
- Follow WordPress Coding Standards
- PHP 8.0+ syntax is welcome (
match, named arguments, union types) - All user-facing strings wrapped in
esc_html__()or equivalent - All output must be properly escaped
- Plain ES6+ β no jQuery, no frameworks, no build step
- Follow the existing style in
assets/js/
- BEM naming β
.block__element--modifier - New components go in their own partial under
assets/scss/ - Run
npm run buildbefore committing β always commit the compiled CSS
-
Fork the repo and create a branch from
main:git checkout -b fix/your-fix-name git checkout -b feature/your-feature-name
-
Make changes following the standards above
-
Compile SCSS if you changed any
.scssfiles:npm run build
-
Test on a clean WordPress 6.8+ install
-
Commit with a clear message:
fix: prevent double like on rapid click feat: add reaction count to REST API response docs: update shortcode examples in README -
Open a pull request against
maindescribing what changed and why
Please include: WordPress version, PHP version, plugin version, steps to reproduce, expected vs actual behaviour, and any relevant errors.
Open a GitHub Discussion for general questions.