Skip to main content

Contribution & Community

GeneratePress has an active community. The fastest way to get help (or to contribute) is to communicate clearly: what you expected, what happened, and how to reproduce it.

The Minimal Reproduction Mindset

When you find a problem, remove variables:

  1. Switch to a default plugin set.
  2. Confirm the issue persists.
  3. Isolate the smallest change that triggers the problem.
SignalWhy it helps
Clear stepsMaintainers can reproduce quickly
Expected vs actualAvoids guesswork
Environment detailsSome bugs are version-specific
caution

Do not post private information publicly (license keys, admin URLs, customer data). If support requests it, share via a secure channel.

A Good Issue/Support Template

High-signal report template
What I expected:

What happened:

Steps to reproduce:
1)
2)
3)

Environment:
- WordPress:
- PHP:
- GeneratePress:
- GP Premium modules:
- Plugins involved:

Relevant code snippets:

Gather Environment Details Quickly

If you have shell access, WP-CLI can produce high-signal environment data without screenshots.

WP-CLI: capture versions and active plugins (example)
cd /var/www/example.com/public_html
wp core version
wp eval 'echo PHP_VERSION . "\n";'
wp theme list
wp plugin list --status=active
tip

When sharing plugin lists publicly, you can omit anything sensitive (security plugins, internal tools) while still sharing the important categories involved.

What to Include (And What to Avoid)

IncludeAvoid
Minimal reproducible stepsFull production URLs with private data
Small code snippetCopy/pasting entire theme files
Versions (WP/PHP/GP)License keys, admin usernames, API keys
One page source snippet (if needed)Database exports
flowchart TD
A[Problem] --> B[Reduce variables]
B --> C[Write steps]
C --> D[Share safe details]
D --> E[Get help faster]

Contribution Etiquette

Good contributions are:

  • Focused (one issue per thread)
  • Reproducible (others can confirm)
  • Respectful of maintainers' time (clear formatting, no ambiguity)

If you provide a code snippet, explain where it should go (child theme, Element, plugin) and what conditions it targets.

Where to Contribute

  • Forums/support: best for "how do I" and configuration questions
  • GitHub (where applicable): best for actionable bugs with reproduction
  • Documentation: improvements and clarified examples help everyone

Picking the Right Channel

NeedBest placeWhy
"How do I configure X?"Support/forumsFaster answers, less ceremony
"This is a bug"Issue tracker (when available)Enables triage and tracking
"Docs are unclear"Documentation PR/editScales to future readers
"I have a snippet"Forum post + gist (sanitized)Easy review and iteration
note

When you are unsure, start with support/forums. If the problem is a confirmed bug with reproduction, escalate to an issue.

Documentation Contributions (High-Leverage)

Docs improvements are often the fastest way to contribute:

  1. Identify the confusing spot.
  2. Add a short example.
  3. Add a troubleshooting note.
  4. Link to related docs.
Doc improvement checklist
- Adds clarity without increasing scope
- Includes a copy/paste-safe snippet
- Mentions a common pitfall

Hands-On: Write a Repro Note for One Customization

Pick one of your Elements or hooks and document:

  • What it does
  • Where it runs (display rules/condition)
  • How to disable it

This is the same skill you use to contribute to docs and support threads.

Stretch goal: create a minimal staging page that demonstrates the issue without any client-specific content.

Quick Reference

  • Reproduce with minimal variables
  • Write steps, expected vs actual, and environment
  • Share only non-sensitive details

What's Next

  • If you maintain these docs, upgrade the remaining root/module index pages (Phase 4), then run a Docusaurus build (Phase 5)