# Educax

Educax is a hybrid Gutenberg WordPress theme converted from the supplied Educax HTML website. The original frontend asset bundle and visual class system are retained; normal page sections are managed as Gutenberg blocks and record collections remain query-driven.

## Installation

Upload `educax-files.zip` at **Appearance → Themes → Add New → Upload Theme**, or run the supplied fail-closed installer against an absolute `wp-content/themes` directory. Activate **Educax** after installation.

The theme requires WordPress 6.6 or later and PHP 7.4 or later. No build step or generated dependency directory is required.

## Demo import

Open **Appearance → Import**, then select **Import Demo Content**. The importer is local-only and idempotent: it uses stable private markers to update Educax demo records rather than duplicating them. It creates the four source home variants, editorial pages, native posts, courses, mentors, testimonials, course taxonomies, featured media, menus, widgets, comments, global settings, and source-page provenance metadata.

The importer assigns **Home 1** as the static front page and **Blogs** as the posts page. It also assigns the primary and footer menu locations. Draft layout-reference pages are created for source views that are implemented by native archive, taxonomy, singular, or 404 templates.

## Editing

- Edit home and editorial sections under **Pages** in Gutenberg. Each major source section is an individual Educax block.
- Insert complete source-derived layouts from **Patterns → Educax**.
- Manage dynamic course cards under **Courses**, including categories, levels, instructor, price, rating, duration, lessons, preview video, curriculum, and optional product relationship.
- Manage instructors under **Mentors** and quotes under **Testimonials**.
- Manage posts with native Posts, Categories, Tags, Comments, and the Blog Sidebar widget area.
- Edit navigation at **Appearance → Menus**.
- Edit the logo, header/footer style, contact values, footer copy, copyright, and social URLs in **Appearance → Customize**.
- Change Gutenberg colors, typography, spacing, borders, and layout values through the editor’s Global Styles-compatible controls supplied by `theme.json`.

## Commerce

WooCommerce is optional. Without it, the source cart and checkout blocks show an administrator-facing activation prompt and never simulate orders. When WooCommerce is active before import, the importer creates virtual course products, assigns the cart and checkout pages, and links each course to its product.

## Forms and security

Contact, newsletter, login, registration, and lost-password forms use WordPress nonces, capability or account controls, sanitization, local redirects, honeypots, and request throttling. Contact and newsletter mail is sent through `wp_mail()` to the configured contact recipient. No credentials, remote installers, analytics calls, or third-party page builder are included.

## Content model

- Custom post types: `educax_course`, `educax_mentor`, `educax_testimonial`
- Taxonomies: `educax_course_category`, `educax_course_level`
- Menu locations: Primary, Footer Explore, Footer Information, Footer Legal, Social
- Sidebar: Blog Sidebar
- Gutenberg blocks: page header, hero, categories, about, feature grid, course query, video story, mentor query, community, testimonial query, post query, partners, newsletter, gallery, contact, account, counter, commerce, comments showcase

## Source fidelity and execution deltas

The supplied `assets/` directory is retained byte-for-byte, including the original CSS and JavaScript. WordPress-specific files add dynamic URLs/content, semantic landmarks, native menus/forms/comments/search/WooCommerce output, keyboard/focus behavior, reduced-motion handling, and safe responsive guards. These are intentional execution-layer changes; no source design asset was rewritten.

## Configuration notes

Permalinks are flushed once on theme switch and after the explicit demo import, never on normal requests. The built-in favicon is used as a fallback; set a WordPress Site Icon to manage the production icon through core. For production mail delivery, configure the site’s normal SMTP/mail provider at the WordPress level.
