My Uploads Plugin — v1.9.3-fix9
Plugin name
My Uploads Shortcode
Purpose
End-to-end submission and judging flow for the Harden Art Prize:
-
Artists: upload, edit drafts, then set to Private for judging; can preview only their own entry.
-
Judges: view all private submissions, score/comment, and see progress/averages.
-
Built-in nonces/links so the preview/review pages open the correct post safely.
Roles required
-
Artists: register/pay via Paid Memberships Pro (PMPro) (UM login also works).
-
Judges: role
hap_judge(orjudge/pmpro_role_*) withread_private_postscapability. -
Admins: full access as usual.
Critical capability for judges:
read_private_posts(otherwise they won’t see entries after artists submit).
Shortcodes
I have used ‘#’ instead of ‘[‘ as the latter symbols trigger the actual shortcodes.
1) #my_uploads]
What it does: Artist’s table to view/edit their own drafts and private posts; links to a secure preview page.
Common attributes
-
category(required): category slug for the current year, e.g.25-artwork-submissions. -
statuses: comma list (e.g.draft,private) to show in the table. -
per_page: number of rows (e.g.20). -
show_attachments:true|false— show file/thumbnail column. -
preview_url: path to the preview page containing.No artwork selected.
-
bypass_pmpro_preview:true|false— ensures the preview page isn’t gated by PMPro.
Example
[my_uploads category="25-artwork-submissions"
statuses="draft,private"
per_page="20"
show_attachments="true"
preview_url="/artwork-preview/"
bypass_pmpro_preview="true"]
2) #my_artwork_preview]
What it does: Secure, read-only preview for artists/judges/admin.
How it’s called: Link includes ?post_id=###&ms_nonce=... from the artist table.
Attributes: None (uses request parameters).
3) #judges_dashboard]
What it does: Judges’ master table (all Private entries), per-judge progress panel, average score.
Common attributes
-
category(required): category slug for the current year. -
review_url: path to the page with /judge_review/. -
include_former:false|true— whether to include past judges in averages/columns.
Example
review_url="/judge-review/"
include_former="false"]
Extras in fix6+
-
Download CSV button on the judges dashboard (scores, comments, timestamps). No shortcode change needed.
In fix9: Titles in the judges table show the raw post title (no “Private:” prefix).
4) #judge_review]
What it does: Judge’s side-by-side artwork view + scoring form (per-judge fields).
Common attributes
-
review_return: path back to the dashboard (e.g./judges-dashboard/).
Example
Plugin pre-requisites & field/label mapping
Required plugins / settings
-
Frontend Post Submission Manager (FPS) — used for artist submission form.
-
PMPro — handles artist registration/payment; make sure it does not gate judges pages.
-
Ultimate Member (UM) — used to create/approve judge accounts (optional for artists’ login).
-
My Uploads Shortcode settings (WP Admin → Settings → Judges):
-
Select the Judges Dashboard page (contains ##
judges_dashboard]). -
Select the Judge Review page (contains ##
judge_review])
These are whitelisted so PMPro doesn’t block judges.
-
-
Artist table also passes
bypass_pmpro_preview="true"so/artwork-preview/isn’t PMPro-gated.
Data mapping used in preview/review
-
Full Name →
post meta: name(common variants supported) -
Email →
post meta: email -
Dimensions →
post meta: dimensions -
Medium → post_excerpt (fallback to
post meta: medium) -
Artist Statement → post_content (fallback to
post meta: artist_comments)
Judge scoring storage (per post, per judge)
judge_score_{userID} (float)
-
judge_comment_{userID}(string) -
judge_reviewed_at_{userID}(datetime)
Annual rollover: how to keep it working
New Post Category each year
Create a new category/slug for the year (e.g. 26-artwork-submissions) and update the shortcodes:
-
Create the category: Posts → Categories
-
Name: “2026 Artwork Submissions”
-
Slug:
26-artwork-submissions
-
-
Update pages:
-
Artist dashboard page: set ##
my_uploads category="26-artwork-submissions" ...] -
Judges dashboard page: set ##
judges_dashboard category="26-artwork-submissions" ...] -
(If you’re using the Team plugin, update its ##
team_dashboard category="26-artwork-submissions"]too.)
-
-
Check PMPro gating:
-
Verify /
judges-dashboard/, /judge-review/, and /artwork-preview/remain whitelisted in Settings → Judges and/or PMPro page rules.
-
-
Leave last year’s posts alone (they stay in their old category).
-
Keeps archives intact and avoids breaking any saved links to the old category page.
-