DOCS

Frontend editing

The Frontend Edit form lets fundraising page creators edit their own page from the public-facing site without accessing the WordPress admin. Access is permission-checked and nonce-protected. This is a free feature.

Frontend edit form

Why use this

Most supporters who create a fundraising page are not WordPress users and should not have access to the admin dashboard. The frontend edit form gives them a dedicated editing experience that matches the public theme.

What it does

The edit form is embedded on the auto-created Edit Fundations page using the [get_fund_edit_form] shortcode. It is accessed via the URL parameter ?edit_fund={post_id} on that page.

The current user must be logged in and either be the post author or have the edit_others_posts capability.

Editable fields

FieldNotes
TitleRequired.
DescriptionTinyMCE WYSIWYG editor (bold, italic, lists). Block comments are stripped before display.
Goal amountCurrency-formatted. Whole numbers only by default. Converted back on submit.
End dateDate picker (YYYY-MM-DD). Can reactivate an expired action if get_fund_expiration_creator_can_extend is true.
Featured imageSingle file upload via WordPress media handler.
Gallery imagesMultiple upload. Drag-to-reorder existing images. Delete existing images. Allowed types: jpg, jpeg, png, gif, webp.
Creator anonymousCheckbox controlling whether the creator’s name is shown publicly.
Children disabledPrevents new child actions. Non-admins can set this but cannot unset it. Only admins can re-enable.
Expiration visibilityShow/hide/global-default. Only shown when get_fund_expiration_creator_can_choose is true or user is admin.
Event assignmentOnly shown when get_fund_event_creation is all_users. Uses a Select2 picker with optional new event name.
Category assignmentOnly shown when Categories are enabled. A Select2 dropdown of existing categories (indented for nesting); select only, never created by the editor. Saved to _get_fund_category_id.
Campaign UpdatesView, add, edit, and delete campaign updates inline. Each update has its own TinyMCE editor.

Close fundraiser flow

A Close Fundraiser button opens a modal. The creator can enter an optional closure reason (_get_fund_closure_reason) and closure message (_get_fund_closure_message), then confirm. This sets _get_fund_status to closed and fires get_fund_action_closed. For non-admins this is permanent: a closed action cannot be reopened from the frontend.

Expiration awareness

If the action is expired (checked via Get_Fund_Expiration_Cron::is_action_expired()), a warning banner appears at the top of the form. The message varies based on the effective visibility setting.

How to use it

  1. The creator visits their fundraising page while logged in.
  2. They click the Edit button (rendered by the get-fund/edit-button block).
  3. They are redirected to the Edit Fundations page with ?edit_fund={post_id} in the URL.
  4. They make changes and click Save.
  5. They are redirected back to the fundraising page.
Frontend edit form gallery

Settings and options

Option keyDefaultDescription
get_fund_edit_page_id(auto)Page ID of the frontend edit page
get_fund_expiration_creator_can_extendtrueAllow creators to set a future end date on an expired action
get_fund_expiration_creator_can_choosefalseShow the expiration visibility selector in the form
get_fund_event_creationadmin_onlySet to all_users to show the event field

What you can and cannot do

Creators can edit any field listed above without admin involvement. You can use hooks to add custom fields or modify saved data. Creators can also reactivate expired actions by extending the end date.

Non-admins cannot re-enable children after disabling them, reopen a closed action, or edit posts by other users without the edit_others_posts capability.

Troubleshooting

Edit button leads to a blank page or 404. Confirm get_fund_edit_page_id points to an existing page with the [get_fund_edit_form] shortcode. Reinstall the page from Fundations > Settings > Pages if needed.

User sees “you do not have permission” message. The user must be logged in and must be the post author. If the user was created as a guest and later claimed the action, confirm the post author was updated to their user ID during the claim process.

Gallery images not saving. The fund_gallery_keep field must contain the comma-separated IDs of images to retain. If the JavaScript reordering fails, all existing images may appear to be deleted. Check for JavaScript errors in the browser console.

TinyMCE not loading. Confirm WordPress scripts are loaded on the edit page. Some performance plugins defer or remove wp-tinymce. Exclude the edit page URL from asset optimisation.

Developer reference

Actions

HookArgumentsDescription
get_fund_before_frontend_editint $post_idFires before the edit form is rendered.
get_fund_after_frontend_editint $post_idFires after a successful save.
get_fund_action_updatedint $post_idFires when the action post is updated.
get_fund_action_closedint $post_idFires when the action is closed from the frontend form.

Filters

HookArgumentsDescription
get_fund_user_can_edit_actionbool $can_edit, int $post_id, int $user_idOverride the permission check. Return false to deny access.
get_fund_edit_form_fieldsarray $form_data, int $post_idModify form data before it is passed to the template. Keys: post, amount, raised_amount, end_date.
get_fund_edit_form_save_dataarray $post_data, int $post_idModify wp_update_post arguments before saving.
get_fund_edit_redirect_urlstring $url, int $post_idOverride the redirect URL after a successful save.