Child Theme
Identity
| Field | Value |
|---|---|
| Stylesheet directory | id86 |
| Display name (style.css) | id86.net |
| Version | 1.11 |
| Parent theme | GeneratePress |
| Author | id86 |
| Canonical repository | git@github.com:donnyaw/id86-gp-theme.git |
| Local checkout | /home/rezriz/github/Wordpress/wp-dev/themes/develop-internally/id86/id86-child-theme |
The directory is id86 because WordPress identifies the installed stylesheet by its folder name. The visible front-end name is defined in the style.css header block.
File Inventory
| File | Lines | Responsibility |
|---|---|---|
functions.php | ~1060 | All PHP: asset enqueuing (incl. article-content on single posts), shortcodes (incl. id86_modified_date post meta + id86_reading_time, id86_recommendations), search index, subscription workflow, contact form (Turnstile + Zammad + Telegram), archive renderers, admin settings, recommendations no-cache header |
style.css | 1690 | Brand tokens, homepage layout, responsive grids, archive cards, search palette, subscribe bar, post meta line, recommendations landing page, legacy theme styles |
css/article-content-v2.css | — | Article body element styling: tables, code blocks, blockquotes, footnotes, headings, admonition support classes |
js/article-content.js | — | Article body behaviors: table scroll wrapper, heading anchors, copy buttons on plain <pre> blocks (skips Code Block Pro blocks) |
js/id86-fusejs-global.js | 134 | Fuse.js search renderer for hero input and header command palette |
js/recommendations.js | 97 | Recommendations page tab switching + legacy-HTML fallback for stale cache |
deploy.sh | ~30 | Rsync deployment script to GC-US-M10 |
inc/updater.php | ~50 | Theme update checker (disabled — no vendor update endpoint) |
js/custom.js | Small | Custom jQuery |
js/jquery-3.7.0.min.js | Vendor | Downgraded jQuery |
js/owl.carousel.min.js | Vendor | Carousel (legacy) |
css/owl.carousel.min.css | Vendor | Carousel styles (legacy) |
screenshot.png | — | Theme screenshot |
Key PHP Responsibilities
| Group | Functions |
|---|---|
| Search | id86_fuse_search_index(), Fuse.js enqueue and localization, palette HTML, header trigger replacement |
| Documentation shortcodes | id86_latest_sheets_shortcode, id86_category_sheets_shortcode, id86_category_count_shortcode, id86_sheet_card |
| Archive renderers | id86_archive_header_shortcode, id86_archive_card_shortcode |
| Stats | id86_stats_shortcode |
| Subscription | id86_render_subscribe_form, id86_save_subscriber, id86_verify_email_reoon, id86_subscribe_phpmailer |
| Contact form | id86_render_contact_form, id86_verify_turnstile_token, id86_send_contact_zammad, id86_send_contact_telegram, id86_send_contact_notification_email |
| Admin settings | Reoon API key, SMTP configuration, Turnstile keys, Zammad + Telegram options |
| Performance | Perfmatters front-page exceptions, Fuse.js delay-JS exclusion |
| Post views | setPostViews, gb_query_by_views |
Editing Rules
- Make site-specific behavior in the child theme, never in GeneratePress parent files.
- Keep reusable editable content in GeneratePress Elements rather than hard-coding copy in PHP.
- Bump or cache-bust assets when changing CSS/JS, then clear LiteSpeed, PHP OPcache, and Cloudflare caches.
- Validate
functions.phpwithphp -lbefore deployment:php -l functions.php. - Check whitespace with
git diff --checkto avoid trailing whitespace and merge conflict markers. - Stage only intended files before committing; do not commit unrelated worktree changes.