-
Notifications
You must be signed in to change notification settings - Fork 1
Contributing
Hordekiller edited this page Jun 26, 2026
·
1 revision
Thank you for your interest in contributing to Figma to Elementor! Here are the ways you can help.
Please be respectful and constructive in all interactions. This project follows the GitHub Community Guidelines.
Open a GitHub Issue with:
- WordPress version and PHP version
- Elementor version (free or pro)
- Steps to reproduce (be specific)
- Expected vs actual behavior
- Screenshots if applicable
- Error logs (WordPress debug.log or browser console)
Start a Discussion in the Ideas category:
- Describe the feature and its use case
- How would it benefit Figma-to-Elementor workflows?
- Include examples or mockups if possible
# Clone the repo
git clone https://github.com/Hordekiller/FigmaToelementor.git
cd FigmaToelementor
# Set up a local WordPress environment
# (Local WP, Docker, or any local server)- Fork the repository
-
Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Test locally (see Architecture page for code structure)
-
Run PHP syntax check:
php -l includes/your-file.php -
Commit:
git commit -m "Description of your change" -
Push:
git push origin feature/your-feature-name -
Open a Pull Request against the
mainbranch
- PHP — 8.0+, strict types, PSR-4 autoloading
-
Namespaces — all classes under
HelloFigma\ - Naming — methods: camelCase, classes: PascalCase, constants: UPPER_CASE
-
Security — always use nonces, capability checks,
sanitize_text_field(), andesc_html()/esc_attr() -
SQL — always use
$wpdb->prepare() - No JavaScript framework — vanilla JS only (WordPress admin compatible)
- Wiki — improve this wiki with better examples
- README — suggest README improvements
- Code comments — add PHPDoc to methods
-
Translations — help translate the plugin (
.potfile in/languages/)
- Star the repository on GitHub
- Share with other WordPress developers
- Write a blog post or tutorial
- Review the plugin
- Ensure your code follows the existing code style
- Test that the plugin activates without errors
- Test an import end-to-end if possible
- Update the wiki if your change affects user-facing features
- Your PR will be reviewed within a few days
For detailed architecture, see the Architecture page.
| File | Purpose |
|---|---|
hello-elementor-figma-sync.php |
Bootstrap and autoloader |
includes/class-plugin.php |
Main plugin class (hook registration) |
includes/class-figma-api.php |
Figma REST API client |
includes/class-elementor-renderer.php |
Figma → Elementor conversion |
includes/class-admin.php |
Admin UI and AJAX handlers |
includes/class-template-manager.php |
Save/manage Elementor templates |
includes/class-image-handler.php |
Download and process images |
includes/class-style-sync.php |
Sync Figma styles to Elementor |
includes/class-logger.php |
Debug logging |
includes/class-compatibility.php |
Dependency checks |
includes/class-asset-manager.php |
CSS/JS asset management |
widgets/ |
Custom Elementor widgets (Container, Button, Image, etc.) |
admin/views/ |
Admin page templates |
uninstall.php |
Cleanup on plugin deletion |
Powered by Figma to Elementor — Convert Figma designs into Elementor templates.