Files
szkoleniauryzaj.pl/.paul/codebase/conventions.md
2026-04-26 23:47:49 +02:00

2.9 KiB

Conventions

Generated by /paul:map-codebase — 2026-04-26

PHP Conventions

Current state (in existing code)

  • Style: Procedural, no OOP
  • Naming: snake_case with descriptive prefixes (wcs_, bbloomer_, Divichild_) — inconsistent across files
  • PHP version: Basic PHP 5.x compatible constructs (no type hints, no match expressions)
  • Comments: Minimal; PHPDoc used in divi-children-engine but not in functions.php

Convention to follow when adding new code

  • Function prefix: Use szkolenia_ or body_relax_ for all new functions
  • Security: Always sanitize input (sanitize_text_field()), verify nonces for AJAX (wp_verify_nonce()), escape output (esc_html(), wp_kses_post())
  • Hooks: Register all hooks inside functions, not at file root level
  • Translations: Wrap all user-facing strings in __() / _e() — text domain: body-relax

CSS Conventions

Current state

  • Plain CSS (no preprocessor in production, SCSS compilation configured in VS Code)
  • No BEM; simple semantic class names (.icon_tags, .icon_profile)
  • ID-based selectors in admin CSS (anti-pattern)
  • Hard-coded hex colors
  • Breakpoints: 981px, 768px, 767px, 480px

Convention to follow

  • Namespace custom classes with br- prefix (e.g., .br-availability-message)
  • Keep front-end CSS in style.css, admin CSS in divi-children-engine/css/
  • Use SCSS variables for colors if using the Live Sass compiler

JavaScript Conventions

Current state

  • Inline jQuery in PHP strings (no separate .js files in theme)
  • Uses deprecated .toggle() (removed in jQuery 3.9+)
  • References global ajaxurl

Convention to follow

  • Put new JS in separate files under wp-content/themes/body-relax/js/
  • Enqueue via wp_enqueue_script() with jQuery dependency
  • Use wp_localize_script() to pass ajaxurl and nonces
  • Use const/let, avoid deprecated jQuery methods

File Placement

What to add Where
WooCommerce filters/hooks wp-content/themes/body-relax/functions.php
Admin UI / metaboxes wp-content/themes/body-relax/divi-children-engine/includes/
Standalone cron scripts Root of repo (like cron-products.php)
New plugin wp-content/plugins/ with own directory
Custom styles wp-content/themes/body-relax/style.css

Git Conventions

Current state

  • Commit messages are all "Save" (no meaningful history)
  • No .gitignore file

Convention to follow

  • Use conventional commits: feat:, fix:, chore:, style:
  • Example: feat: add availability countdown for last 3 spots

Deployment Notes

  • FTP auto-upload is ON — every file save syncs to production immediately
  • Do not edit Divi parent theme files (overwritten on update)
  • Do not edit plugin files directly (overwritten on update) — use hooks/filters in theme instead
  • The bbPress plugin is currently an exception (100+ modified files) — this is a known risk