Benevora documentation

Benevora home page

A WordPress theme for charities, nonprofits and NGOs. Six demos, causes with fundraising progress bars and goals, a donation form with preset amounts that sends donors to your own donation platform, events, a volunteer sign-up form, annual reports, a "Where your money goes" chart, the team and trustees, and stories.

Thank you for choosing Benevora. This guide takes you from a fresh WordPress site to a copy of the demo with your own details. If something is not covered here, write to support@codememory.com — we answer within one working day.

  • Version1.0.0
  • WordPress6.5 or later
  • PHP7.4 or later
  • Live demoOpen the demo

Highlights

  • Six charity demos imported in one click
  • Causes with goal, amount raised, donors, days left and a progress bar
  • Donation form: one-off or monthly, preset amounts with what each pays for, your own amount and a cause
  • Works with any donation platform: PayPal, Stripe Payment Links, Donorbox, GiveWP, JustGiving and more
  • Quick-donate bar in the hero and a Donate button on every cause
  • Thank-you page that shows the gift and the cause
  • "Where your money goes" ring chart from your own figures
  • Annual reports with highlights and a download button
  • Volunteer sign-up form with roles, days, times and an event, saved in your dashboard
  • Events with date badge, fundraising goal, programme, Register and Volunteer links
  • Team and trustees by group, voices from supporters and the people you help
  • Urgent appeal, impact stats, trust badges, ways to give, steps and FAQ
  • Photo gallery with category filters and a full-size viewer
  • Office or helpline hours with an "Open now" badge
  • 23 Elementor widgets (free Elementor)
  • Every section also works as a shortcode
  • Call / Donate bar on phones
  • Light and dark mode
  • Colours and fonts from the Customizer
  • Block patterns and every core block styled
  • Self-hosted fonts, nothing loaded from Google
  • Translation ready, right-to-left support
  • Child theme included

What is in the download

themeforest-benevora-wordpress-theme/
├── benevora.zip               ← the theme: upload this in WordPress
├── benevora-child.zip         ← child theme, for your own code changes (optional)
├── plugins/benevora-core.zip  ← the theme's plugin (also installed from inside the theme)
├── demo-content/              ← demo files for a manual import
├── documentation/             ← this guide, as HTML and PDF
└── licensing/                 ← GPL licence, font licences and credits
Upload benevora.zip, not the whole download. Uploading the download zip gives the error "The package could not be installed. The theme is missing the style.css stylesheet."

Requirements

  • WordPress 6.5 or later (tested up to 7.1).
  • PHP 7.4 or later (8.2 or later recommended).
  • For the demo import: PHP memory_limit 256M, max_execution_time 300, upload size 32M. Most hosts already allow this; if an import stops half-way, ask your host to raise these values.

Every plugin the theme uses is free from wordpress.org. Nothing needs a paid licence.

Installing the theme

  1. In your dashboard, go to Appearance → Themes → Add New Theme → Upload Theme.
  2. Choose benevora.zip and click Install Now, then Activate.
  3. Optional: install and activate benevora-child.zip the same way (see Child theme).

Upload by FTP instead: unzip benevora.zip and copy the benevora folder to wp-content/themes/, then activate it under Appearance → Themes.

Plugins

After activation, a notice at the top of the dashboard lists the plugins the theme uses. Click Begin installing plugins (or go to Appearance → Install Plugins), select them all, choose Install, then activate them.

PluginWhat it adds
Benevora CoreRequiredCauses with goals and progress, cause areas, the donation form and quick-donate bar, the thank-you summary, events, event types, the team and trustees, voices, annual reports, volunteer applications, office hours, the spending chart, photo gallery, widgets, shortcodes and the demo import. Included with the theme.
ElementorRecommendedThe free page builder used for the demo pages. The theme's own widgets appear in Elementor's Benevora group.
One Click Demo ImportRecommendedImports a demo in one click. You can remove it after the import.

The theme works without any plugin: posts, pages, menus, widgets and search are styled the same. The plugin is needed for the charity features (causes, donations, events, volunteers, reports, team…).

Importing a demo

The import gives you the demo site: pages, causes, cause areas, events, team, voices, annual reports, posts, menus, widgets and the Customizer settings. Use it on a new site: it adds content next to what you already have.

  1. Install the plugins above.
  2. Go to Appearance → Import Demo Data.
  3. Pick a demo and click Import. It takes one to three minutes; keep the page open.
  4. Done: visit your site. The home page, menus and blog page are already set.
DemoHome pageAccent
International aid/home-relief/#c2410c
Children's education/home-children/#1d6fb8
Conservation trust/home-environment/#2e7d4f
Community food bank/home-foodbank/#b45309
Cancer support/home-health/#9d174d
Animal rescue/home-animals/#0f766e

All six home pages are imported with every demo; the demo you pick decides which one is the front page and which colours and header the Customizer uses. To switch later, go to Settings → Reading and choose another home page.

The photos on the live demo are licensed for the demo only, so the import uses grey placeholder images. Replace them with your own photos (Media → Library, or the featured image of each item).

Manual import

If the one-click import is blocked by your host, use the files in demo-content/:

  1. Tools → Import → WordPress (install the importer when asked) → upload content.xml.
  2. Install Widget Importer & Exporter → Tools → Widget Importer & Exporter → upload widgets.wie.
  3. Install Customizer Export/Import → Appearance → Customize → Export/Import → upload customizer-<demo>.dat.
  4. Appearance → Menus → Manage Locations: set the main, top bar and footer menus. Settings → Reading: choose the home and blog pages.

After the import: your details

The demo uses a made-up charity, phone number, address, office hours, amounts and figures. Replace them with yours, in this order:

  1. Your donation link: Settings → Benevora Core → Donation link. Until you add your own, the Donate button goes to the sample thank-you page (see Donations).
  2. Phone number and top bar: Appearance → Customize → Benevora options → Header and top bar. Set Phone number, Top bar text (a short line such as "Registered charity no. 1234567") and the Label next to the phone (the demo says "Flood appeal open"). Every "Call" button on the site uses this number.
  3. Logo and site icon: Appearance → Customize → Site Identity.
  4. Colours: Appearance → Customize → Colors. The six demo home pages each have their own accent colour (see Page options); clear it there to use the Customizer colour.
  5. Amounts, volunteer roles and office hours: Settings → Benevora Core (see Donations, Volunteer sign-up and Office hours).
  6. Footer panel and widgets: Appearance → Customize → Benevora options → Footer for the "Give monthly" panel above the footer; Appearance → Widgets → Footer column 1–4 for the contact details.
  7. Your content: edit the causes, events, team, voices and annual reports in the dashboard menus of the same names, and replace the placeholder photos with your own.

Causes, events, team, voices and reports

The Benevora Core plugin adds five content types, a Cause areas list (for causes) and an Event types list (for events) to the dashboard. Each content type has a Details box under the editor.

Dashboard menuUsed forDetails
Causes
/causes/
One entry per project or appeal. Shown by the Causes, Urgent appeal and Cause areas widgets, and each cause has its own page with a Donate button.Goal ("60000"), amount raised ("41850"), number of donors, where ("Turkana County, Kenya"), an optional closing date (shows "45 days left"), a badge ("Urgent"), an icon, "What a gift does" (one line per amount as amount|what it pays for, for example 25|A water filter for one family), "The project includes" (one line each) and an optional donation link for this cause only.
Events
/events/
Runs, walks, galas, open days and volunteer days. Upcoming events are listed first; when none are left the latest past ones are shown.Date, time ("9:00 am – 1:00 pm"), place, entry ("$25 to register"), fundraising goal ("Raising $40,000 for clean water"), places, a registration link (for example your ticketing page) and the programme (one line per moment as time|what). Each event also has a Volunteer link that opens the sign-up form with the event chosen.
Team
/team/
Staff, trustees, patrons, volunteers and field teams.Role, group (the Team widget can show one group, for example only trustees), years with the charity, what they lead on, background and email.
VoicesQuotes from supporters, volunteers, the people you help, partners and fundraisers. No public page of their own.Who is speaking (the kind), a line about them ("Monthly donor since 2021") and the cause or programme.
Annual reportsShown by the Annual reports widget, newest first. No public page of their own.Year, the PDF (upload it in the Media Library and paste its address), a file note ("PDF · 4 MB · 32 pages") and up to three highlights for the latest report (value|label, for example 1.2M|people reached).

Donations

Benevora does not take payments itself. Donors choose an amount, monthly or one-off, and a cause on your site; the Donate button then opens your donation platform with those details filled in. Card details never touch your site, so there is no payment gateway to set up and no PCI work.

  1. Create a donation page on your platform: PayPal (Donate button link), Stripe Payment Links, Donorbox, GiveWP, JustGiving, Givebutter, or any page that takes an amount in its address.
  2. Paste its address in Settings → Benevora Core → Donation link. Use these placeholders where the platform expects them: {amount}, {frequency} (once or monthly), {cause} (the cause slug) and {cause_name}. Example: https://donorbox.org/your-campaign?amount={amount}.
  3. Optional: a separate Monthly donation link when your platform uses a different page for regular gifts.
  4. Optional: a donation link on a single cause (Causes → the cause → Details) sends gifts for that cause to its own page.
  5. Set the One-off amounts and Monthly amounts, one per line as amount|what it pays for. The text appears under the buttons when the donor picks that amount. Choose the default frequency, whether donors may type their own amount, the smallest amount and the currency symbol.
  6. Choose your Donate page (the page with the Donation form widget). The quick-donate bar in the hero and every Donate button on causes open it with the amount and cause filled in.

Thank-you page: the demo has a Thank you page with the Thank-you widget. Most platforms can send donors back to it after the gift; add ?amount={amount}&frequency={frequency}&cause={cause} (or the platform's own fields) to show the gift. A Donation form widget can also have its own amounts, for a campaign page.

Links you can use anywhere: /donate/?bvc_amount=50&bvc_frequency=monthly&bvc_cause=hand-pumps-for-turkana opens the form with that gift chosen, for buttons, emails and social posts.

Volunteer sign-up

The Volunteer sign-up widget (or [benevora_volunteer]) asks for name, email, phone, town, the roles the person is interested in, the days and times that suit them, how much time they can give, an optional event, skills, how they would like you to get in touch and an age confirmation.

  • Settings → Benevora Core → Volunteers: the roles (one per line), the minimum age, the message shown after sending, the privacy note under the button, and whether to email each new application (and to which address).
  • Volunteers in the dashboard lists every application with phone, roles, availability and a status (new, contacted, interview, active volunteer, not now). A count of new applications shows next to the menu.
  • Applications are always saved, even when email is off. A hidden field and a short wait between sends stop most spam.
  • Choose your Volunteer page in the settings; every "Volunteer" link on events opens it with that event chosen.

Where your money goes and annual reports

The Where your money goes widget draws a ring chart from your own figures: one line per use of funds as Label|Percent|Amount (the amount is optional), largest first, for example Programmes and projects|84|$3.53M. Add the total, a short note ("Figures from our audited accounts") and a button to your annual reports.

The Annual reports widget lists the reports from the Annual reports menu: the newest is shown large with its highlights, older ones below with a Download button each.

Office hours

Settings → Benevora Core → Office hours: opening and closing times for each day (leave a day empty when closed) and a short note ("Supporter care line"). The Office hours widget, the Office hours section and the contact header show today highlighted and an Open now badge, worked out in the visitor's browser so it stays right on cached pages.

Page options

Each page has a Page options box in the editor sidebar:

  • Accent colour for this page: overrides the Customizer accent on this page only. The demo uses it to give each demo home page its own colour.
  • Colour scheme: light or dark for this page only (the Animal rescue demo is dark).
  • Header layout: classic, centered or contact, for this page only.

Leave them empty to follow the Customizer.

Page templates

TemplateUse
DefaultPage title band, content and no sidebar.
Full width, no titleFor pages built with Elementor: the content fills the screen and you add your own hero. All demo pages use it.
Full width with title bandThe title band, then full-width content.

Customizer settings

Appearance → Customize. Colours are in the Colors section; everything else is in the Benevora options panel. Changes show in the preview before you publish them.

SettingTypeDefault
Colors
Accent colour (buttons, links, icons)color#c2410c
Ink colour (text, header, footer)color#123a40
Paper colour (page background)color#fbf7f1
Style and fonts
Colour schemeselectLight
Show a light/dark switch in the headercheckboxOn
Heading fontselectGabarito
Body fontselectReddit Sans
Body text size (px)number17
Corner rounding (px)number18
Header and top bar
Header layoutselectClassic: logo left, menu right
Keep the header visible while scrollingcheckboxOn
Show the search buttoncheckboxOn
Header button texttextempty
Header button linkurlempty
Show the top barcheckboxOn
Top bar text (for example "Registered charity no. 1234567")textempty
Phone numbertextempty
Label next to the phone (for example "Winter appeal now open")textempty
Footer
Widget columnsselect4
Panel above the footer: title (for example "Give monthly, change a life all year"). Leave empty to hide the panel.textempty
Panel texttextempty
Panel button texttextempty
Panel button linkurlempty
Panel second button text (optional)textempty
Panel second button linkurlempty
Footer text (links allowed). Leave empty for the site name and year.textareaempty
Show a back-to-top buttoncheckboxOn
Blog
Post list layoutselectGrid of cards
SidebarselectRight
Show the author on postscheckboxOn
Show the date on postscheckboxOn
Show related posts under each postcheckboxOn
Mobile call bar
Show a call / donate bar at the bottom of phone screenscheckboxOn
Second button text (the first button calls your phone number)textempty
Second button linkurlempty

The site title, tagline, logo, site icon, background and homepage settings are WordPress's own, in Site Identity, Background image and Homepage Settings.

Widgets

Appearance → Widgets. Areas: Blog sidebar and Footer column 1 to Footer column 4 (set the number of footer columns in the Customizer). The plugin adds three widgets, named Benevora: … in the widget list:

  • Contact details — phone, email, address, each with a link.
  • Office hours — your hours from Settings → Benevora Core, with an "Open now" badge.
  • Causes list — links to your causes; the current cause is highlighted.

Building pages with Elementor

All demo pages are built with the free Elementor plugin and the theme's widgets.

  1. Create a page, set its Template to Full width, no title, and click Edit with Elementor.
  2. Search for the widget or open the Benevora group in the left panel and drag a widget onto the page.
  3. Edit its text and options in the left panel. Every widget has a Background option (light, paper, dark or accent colour) so sections alternate like the demo.

The widgets fill themselves from your content: Causes, Urgent appeal, Cause areas, Events, Team, Voices, Annual reports and Latest posts show the items you add in the dashboard. List fields (prices, steps, questions…) take one item per line, with the parts separated by |, as the help text under each field shows.

Elementor's own Google Fonts loading is switched off by the demo import, so the site keeps using the theme's self-hosted fonts.

Without Elementor: shortcodes

Every widget is also a shortcode, so you can build the same sections in the block editor: add a Shortcode block and type, for example:

[benevora_causes count="6" filter="yes"]
[benevora_donate title="Give today"]
[benevora_volunteer title="Volunteer with us"]

Options are the same as in Elementor. In list options, separate items with || and parts with |. Images take an attachment ID (Media → Library → the number in the address) or a full URL.

Hero — [benevora_hero]
OptionWhat it does
layoutLayout
Choices: split, cover
primary_labelButton text
primary_urlButton link
secondary_labelSecond button text
secondary_urlSecond button link
badgesShort points, one per line
donate_barShow the quick-donate bar (amounts from the settings)
imagePhoto
statHighlight number (for example 1.2M)
stat_textHighlight text (for example "people with clean water")
causeShow the progress of this cause (slug, optional)
card_titleFloating card title
card_textFloating card text (when no cause is shown)

Also: eyebrow, title, text.

Causes — [benevora_causes]
OptionWhat it does
countHow many
areaOnly these cause areas (slugs, comma separated, optional)
styleStyle
Choices: cards, compact
filterShow filter buttons by cause area
more_labelButton under the grid
more_urlButton link
onlyOnly these (slugs, comma separated, kept in this order; optional)

Also: eyebrow, title, text, columns, tone.

Featured appeal — [benevora_appeal]
OptionWhat it does
causeCause (slug; empty = the first cause)
button_labelButton text

Also: eyebrow, title, tone.

Cause areas — [benevora_areas]
OptionWhat it does
countHow many areas (4 fills the row best)

Also: eyebrow, title, text, tone.

Donation form — [benevora_donate]
OptionWhat it does
layoutLayout
Choices: split, stacked
pointsPoints beside the form, one per line
imagePhoto beside the form (optional)
buttonButton text
amounts_onceOne-off amounts for this form only, one per line as "amount|what it pays for" (empty = the amounts in Settings → Benevora Core)
amounts_monthlyMonthly amounts for this form only, same format (empty = the settings)

Also: eyebrow, title, text, tone.

Where your money goes — [benevora_spending]
OptionWhat it does
itemsOne line per use of funds as Label|Percent|Amount (amount optional), largest first
totalTotal (for example $4.2M)
total_labelTotal label (for example "spent on our mission in 2025")
noteSmall print (for example "Figures from our audited accounts")
button_labelButton text
button_urlButton link (for example your annual report)

Also: eyebrow, title, text, tone.

Annual reports — [benevora_reports]
OptionWhat it does
countHow many

Also: eyebrow, title, text, tone.

Thank-you message — [benevora_thanks]
OptionWhat it does
noteNote under the gift
button_labelButton text
button_urlButton link

Also: eyebrow, title, text, tone.

Events — [benevora_events]
OptionWhat it does
onlyOnly these (slugs, comma separated, kept in this order; optional)
countHow many
typeOnly these event types (slugs, comma separated, optional)
filterShow filter buttons by event type
more_labelButton under the events
more_urlButton link

Also: eyebrow, title, text, tone.

Photo gallery — [benevora_gallery]
OptionWhat it does
itemsPhotos as Image|Caption|Category, one per line. Image = the media library ID or the image address (Media → the photo → Copy URL).
filterShow filter buttons by category
more_labelButton under the gallery
more_urlButton link

Also: eyebrow, title, text, tone.

Voices — [benevora_voices]
OptionWhat it does
countHow many
kindOnly quotes from (supporter, volunteer, beneficiary, partner, fundraiser; comma separated, optional)
onlyOnly these (slugs, comma separated, kept in this order; optional)

Also: eyebrow, title, text, columns, tone.

Team — [benevora_team]
OptionWhat it does
countHow many
groupOnly this group (staff, trustee, patron, volunteer, fieldstaff; comma separated, optional)
onlyOnly these (slugs, comma separated, kept in this order; optional)

Also: eyebrow, title, text, columns, tone.

Impact numbers — [benevora_stats]
OptionWhat it does
itemsNumbers as Value|Label|icon (icon optional), one per line

Also: eyebrow, title, tone.

Why support us — [benevora_features]
OptionWhat it does
itemsFeatures as icon|Title|Text, one per line. Icons: hands, handshake, heart, globe, book, school, apple, bowl, cross, paw, tree, child, megaphone, target, coins, piggy, truck, box, file, download, run, chart, pie, sprout, leaf, drop, home, users, award, shield, sun, sparkle, gift, candle, music, ticket, clock, star, check, phone, pin, calendar, tag, badge.
imagePhoto (optional)

Also: eyebrow, title, text, columns, tone.

How it works — [benevora_steps]
OptionWhat it does
itemsSteps as Title|Text, one per line

Also: eyebrow, title, text, tone.

Ways to give — [benevora_ways]
OptionWhat it does
itemsOne way per line: Name|Amount|Note|Point; Point; Point|yes (to highlight)|Button text|Button link
noteSmall print under the cards

Also: eyebrow, title, text, tone.

Questions — [benevora_faq]
OptionWhat it does
itemsQuestions as Question|Answer, one per line

Also: eyebrow, title, text, tone.

Call to action — [benevora_cta]
OptionWhat it does
button_labelButton text
button_urlButton link
show_phoneShow the phone number

Also: title, text, tone.

Trust strip — [benevora_trust]
OptionWhat it does
itemsPoints as icon|Text, one per line

Also: tone.

Latest stories — [benevora_posts]
OptionWhat it does
countHow many
categoryOnly this category (slug, optional)

Also: eyebrow, title, text, tone.

Text and photo — [benevora_about]
OptionWhat it does
imagePhoto
badge_valueBadge number (for example 1998)
badge_labelBadge text
pointsPoints, one per line
button_labelButton text
button_urlButton link
reversePhoto on the right

Also: eyebrow, title, text, tone.

Volunteer sign-up — [benevora_volunteer]
OptionWhat it does
layoutLayout
Choices: split, stacked
pointsPoints beside the form, one per line
imagePhoto beside the form (optional)
buttonButton text
show_phoneShow the phone number

Also: eyebrow, title, text, tone.

Office hours — [benevora_hours]
OptionWhat it does
addressAddress
map_urlDirections link (for example a map link)
show_phoneShow the phone number

Also: eyebrow, title, text, tone.

Shortcodes: [benevora_hero], [benevora_causes], [benevora_appeal], [benevora_areas], [benevora_donate], [benevora_thanks], [benevora_spending], [benevora_events], [benevora_gallery], [benevora_voices], [benevora_team], [benevora_stats], [benevora_features], [benevora_steps], [benevora_ways], [benevora_faq], [benevora_cta], [benevora_trust], [benevora_posts], [benevora_about], [benevora_reports], [benevora_volunteer], [benevora_hours].

Block editor and patterns

Posts and simple pages use the WordPress block editor. Every core block is styled to match the theme, and the editor shows the theme's fonts and colours. Click + → Patterns → Benevora for ready-made sections: hero with call button, three services, call to action, questions and answers, three reviews, price table and contact details. The theme also adds block styles: Card (Group), Check marks (List), Eyebrow (Paragraph) and Framed (Image).

Blog

Settings → Reading → Posts page sets the page that lists your posts (the demo uses "Blog"). Choose a grid or list layout and the sidebar position in Customize → Benevora options → Blog. Posts show the author, date, category, share links (turn them off in Settings → Benevora Core) and related posts.

Light and dark mode

Customize → Benevora options → Style and fonts → Colour scheme: Light, Dark or Follow the visitor's device. With Show a light/dark switch on, visitors can switch with the moon button in the header; their choice is remembered on that device. A single page can be forced to light or dark in its Page options.

Child theme

If you want to change the theme's code, install benevora-child.zip and activate Benevora Child. Put your CSS in the child theme's style.css and your PHP in its functions.php; copy a template file from benevora into the child theme to override it. Theme updates replace the parent theme only, so your changes are kept.

Small style changes do not need a child theme: use Customize → Additional CSS.

Translation and right-to-left

Every text in the theme and the plugin can be translated. The templates are benevora/languages/benevora.pot and benevora-core/languages/benevora-core.pot.

  1. Easiest: install Loco Translate → Loco Translate → Themes → Benevora → New language, and translate in your browser. Do the same under Plugins for Benevora Core.
  2. Or use Poedit: open the .pot file, translate, and save the files as benevora-fr_FR.po/.mo in wp-content/languages/themes/.

Right-to-left languages (Arabic, Hebrew, Persian…) are supported: when WordPress runs in such a language, the layout mirrors automatically.

Updating

When a new version is released, download it from your ThemeForest Downloads page. Then either:

  • Appearance → Themes → Add New Theme → Upload Theme → choose the new benevora.zip → Replace current with uploaded; or
  • replace the wp-content/themes/benevora folder by FTP.

When the theme comes with a newer Benevora Core, the dashboard notice offers to update the plugin. Your content, menus, widgets and Customizer settings are kept. Changes you made to the parent theme's files are lost: keep them in the child theme.

Questions

"The package could not be installed. The theme is missing the style.css stylesheet."

You uploaded the whole download. Unzip it first and upload benevora.zip only.

The import stopped or shows an error.

Your host stopped the import early. Ask them to raise max_execution_time to 300 and memory_limit to 256M, then run the import again: items already imported are skipped.

The pages look plain after the import.

Activate Elementor and the theme's plugin, then reload. Without Elementor, the pages show the same sections through shortcodes.

Volunteer application emails do not arrive.

Applications are always saved under Volunteers. For email, check the address in Settings → Benevora Core and install an SMTP plugin such as WP Mail SMTP; many hosts block WordPress's default mail.

Where are the demo photos?

They are licensed for the live demo only, so the import uses placeholders. Add your own photos in Media → Library and set them as featured images.

How do I change the font?

Customize → Benevora options → Style and fonts → heading and body font. All fonts are included in the theme; no Google Fonts requests.

How do I remove the top bar or the phone bar on mobile?

Customize → Benevora options → Header and top bar → Show the top bar, and Mobile call bar.

Can I use the theme on more than one site?

A Regular licence covers one site (one end product). Buy one licence per site.

Support

Support is included with your purchase and covers questions about the theme's features and fixing bugs. It does not cover custom changes or problems caused by other plugins.

Email support@codememory.com with your purchase code and your site address. See the changelog for what changed in each version and third-party materials for credits.