Important Files
This section lists the most important files to inspect when working on or extending the plugin.
- Admin entry and meta box: admin/class-sanil-website-builder-admin.php
- Page Builder React app: admin/assets/js/src/page-builder/PageBuilder.jsx
- Page Builder state: admin/assets/js/src/page-builder/stores/usePageBuilderStore.js
- Widget registry: admin/assets/js/src/page-builder/config/widgets/index.js (assembles one subfolder per widget type from
config/widgets/) - Templates list page (CRUD only — editing happens in Page Builder): admin/templates/template-builder/list-page.php
- Dynamic Template widget's live-rendering shortcode: includes/shortcodes/class-sanilwb-template-reference-shortcode.php
- AJAX handlers (template CRUD): includes/class-sanilwb-ajax.php
- Frontend render loop (Blueprint-protected): includes/class-sanilwb-frontend-renderer.php
- CSS file cache — generates and enqueues per-page/per-Template static CSS files: includes/class-sanilwb-css-cache.php
- Shortcode dispatch (
[sanilwb]→ per-widget classes): includes/class-sanilwb-shortcode-handler.php, includes/shortcodes/ - Frontend facade (hooks, enqueues, AJAX canvas preview): public/class-sanil-website-builder-public.php
- Site Layout rendering bridge (single/page/archive/404/search/header/footer): includes/class-sanilwb-site-layout-renderer.php
These are the primary touch points for functionality around building pages, templates, and rendering runtime output.