WP Manifestindependent plugin directory
0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/peclark1/bulletin-upload-wordpress-plugin/archive/refs/heads/main.zip

Readme

Church Bulletin Publisher

A small WordPress plugin for assembling weekly church bulletins without giving the secretary WordPress or hosting access.

The weekly workflow is deliberately simple:

  1. The secretary saves the weekly PDFs into the pre-created Google Drive folder.
  2. An administrator chooses that folder, or selects one or more PDFs directly, and enters the bulletin date in WordPress.
  3. The plugin builds a private PDF preview from the front cover, weekly pages, inserts, and back cover.
  4. The administrator reviews the exact merged PDF.
  5. The administrator may publish to the isolated test area or explicitly confirm a production publication.
  6. The live bulletin list is generated by shortcode.

Production workflow — version 0.2

Production publishing writes approved PDFs to:

wp-content/bulletins/YYYY/MMDDYYbulletin.pdf

The production button is intentionally separate from Publish to Test Area. A live publication requires both a confirmation checkbox and a browser confirmation dialog. The server re-verifies the reviewed preview's SHA-256 before writing anything live.

Before the first production publication, the plugin automatically makes a protected snapshot of the existing wp-content/bulletins tree under:

wp-content/bulletin-publisher-private/live-backups/

If a live bulletin with the same date already exists, the old PDF is copied to protected replacement-backup storage before it is replaced. Production publications, backup events, and failures are appended to:

wp-content/bulletin-publisher-private/audit/production-audit.jsonl

The existing public Bulletins page is not edited automatically. Replace its manual bulletin table with:

[church_bulletins]

only when you are ready to cut over the listing page.

Test area

The existing test workflow remains available and writes only to:

wp-content/uploads/bulletin-publisher-test/YYYY/MMDDYYbulletin.pdf

Activation creates a draft page named Bulletin Publisher Test containing:

[church_bulletins mode="test"]

This keeps test publications isolated from the live bulletin tree.

Requirements

  • WordPress 6.2 or later
  • PHP 7.4 or later

No server PDF program is required. When qpdf or pdfunite is unavailable, the bundled MIT-licensed pdf-lib 1.17.1 library assembles the bulletin in the administrator's browser. The finished preview is uploaded in small authenticated chunks, avoiding shared-host request-size limits. qpdf or pdfunite is still used automatically when available.

Install / upgrade

  1. Install the plugin ZIP in WordPress and activate it.
  2. Open Bulletin Publisher in the administrator menu.
  3. Confirm the saved front and back cover templates are still present.
  4. Create a bulletin preview and review the exact PDF.
  5. Use Publish to Test Area when you want another isolated test.
  6. For a real bulletin, check the production confirmation box and click Publish LIVE Bulletin.
  7. On the first live publication, confirm the screen reports that the initial live-tree backup has been created.
  8. Verify the direct live PDF URL.
  9. Replace the existing Bulletins page's manual table with [church_bulletins] and verify the public listing.

Verified sample structure

The August 16, 2026 printer PDF contains five letter-size pages:

  1. Static front cover
  2. Weekly page
  3. Weekly page
  4. Weekly page
  5. Static back cover

Reconstructing it from the supplied front cover, pages 2–4, and supplied back cover produced identical rendered pages. That establishes the merge rule:

front cover + weekly pages + inserts + back cover

Shortcode

  • Live listing: [church_bulletins]
  • Test listing: [church_bulletins mode="test"]
  • Limit rows: [church_bulletins limit="20"]

Read the full README on GitHub →