A powerful WordPress plugin to streamline funeral home websites adding custom post types, taxonomies and fields for Staff, Caskets, Urns, Monuments and Pricing Packages, along with specialised Gutenberg blocks for easy content management. Basic meta fields are included, no need for ACF.
HumanKind Funeral Suite transforms WordPress sites for funeral homes, allowing them to manage essential services with ease. This plugin introduces specialised custom post types for:
- Team Members & Staff β Manage funeral home staff for the website, their roles, contact and multiple locations
- Caskets β Showcase available caskets and pricing in an organised catalog
- Urns β Display urn options and pricing for families to choose from
- Monuments β Display monument & Headstone options and pricing for families to choose from
- Keepsakes β Display keepsake options and pricing
- Pricing Packages β Present funeral service packages with clear pricing
Each content type comes with tailor-made fields and taxonomies to fit the needs of the funeral industry.
- Team Management β Add and manage staff profiles with location & roles
- Product Catalogs β Create searchable listings for caskets, urns, monuments, keepsakes and headstones
- Pricing Packages β Display service packages with clear pricing
- Feature Flexibility β Enable or disable specific features as needed
-
Gutenberg Blocks for Post Entry:
- Team Member block with metadata fields for qualifications, position, contact info, and taxonomies
- Casket, Urn, Monument & Keepsake blocks with price and category fields
- Pricing Package block with price and order fields
-
Admin Features:
- Customisable settings page to enable/disable individual CPTs
- User roles and custom capabilities for role-based access control
- Automatic updates from GitHub repository
-
Developer Features:
- Import compatibility with All Import Pro
- REST API integration for programmatic content creation
- Block template locking for consistent data entry
- Shortcodes for displaying custom fields and pricing in templates
The HumanKind Funeral Suite now includes a one way sync with Google Sheets for urn, casket and pricing package pricing management. This was requested by a client who wanted their Manager/Finance team to be able to quickly adjust pricing without logging into the website. Also be able to see from a spreadsheet what all the price plans were.
Once setup via a Google Apps Script this allows you to:
- Manage pricing for packages, caskets, and urns from a central Google Sheet
- Automatically sync updates to your WordPress site
- Prevent accidental price edits in the WordPress admin that would be overwritten
- Admin Integration: Clear visual indicators show when pricing is managed externally
- Content Protection: Price fields are automatically disabled when Google Sheets integration is active
- Flexible Control: Enable/disable integration independently for each product type
- Cache Management: Automatic cache clearing ensures pricing updates appear immediately
- Navigate to Settings β HK Funeral Suite
- In the "Internal Use / Developer Options" section, find the Google Sheets Data Sync options
- Enable Google Sheets integration for your desired product types
- Contact Weave Digital Studio for help setting up the Google Sheet connection
When Google Sheets integration is enabled, the plugin adds hooks to:
- Prevent pricing fields from being edited in WordPress
- Display visual indicators in the admin interface
- Support the REST API for external updates
- Clear caches automatically when prices are updatet. Tested for Internal use and used with the Weave Cache Purge Helper.
Outputs a formatted price from a custom field with proper currency formatting.
Key features:
- Currency symbol customisation
- Prefix and suffix support
- Adjustable decimal precision
- Graceful fallback for non-numeric values (e.g., "P.O.A.")
Displays any custom field value with optional formatting and fallbacks.
Key features:
- Date formatting support
- Before/after content wrappers
- Fallback content for empty fields
- Option for raw output without wrappers
- HTML tag stripping option
More info see Shortcode Usage Examples
- Download the latest
.zipfile from the Releases Page. - Go to Plugins > Add New > Upload Plugin.
- Upload the zip file, install, and activate!
git clone https://github.com/HumanKind-nz/hk-funeral-suite.git
cd hk-funeral-suite
composer install # (if Composer is used)π‘ Then zip the directory contents and upload it via WordPress admin or copy it to the wp-content/plugins/ directory manually.
This plugin supports automatic updates directly from GitHub using a custom updater. To ensure updates work:
- Keep the plugin installed in
wp-content/plugins/hk-funeral-suite. - When a new release is available, the WordPress updater will notify you.
- Click Update Now in the Plugins page to install the latest version.
- WordPress 5.8 or higher
- PHP 7.4 or higher
- A funeral website
Important
Block Editor Requirement: This plugin relies on the WordPress block editor (Gutenberg) to manage block meta entries for the custom post types (CPTs). If the block editor is disabled (for example, if the Disable Gutenberg plugin is active), the CPTs may not function as intended. Please ensure that Gutenberg is enabled for full plugin functionality.
- After activation, visit the "HK Funeral Suite Settings" menu in WordPress Admin.
- Use the Settings page to enable or disable specific features.
- Start adding your content under the newly created post types.
- Navigate to "Staff" in the admin menu
- Click "Add New"
- Enter the staff member's name as the title
- Add a featured image for the staff photo
- Use the Team Member block to enter position, qualifications, contact details, etc.
- Assign staff to locations and roles using the provided taxonomies
- Publish when ready
- Navigate to "Caskets", "Urns", "Monuments" or "Keepsakes" in the admin menu
- Click "Add New"
- Enter the product name as the title
- Add a featured image
- Use the corresponding block to enter pricing and select a category
- Add description and other content as needed
- Publish when ready
- Navigate to "Packages" in the admin menu
- Click "Add New"
- Enter the package name as the title
- Use the Pricing Package block to enter an intro, price and display order
- Add description and details of what's included in the package
- Publish when ready
- 𦫠Meta Fields & Beaver Builder Integration - Guide for leveraging custom meta fields in Beaver Themer layouts
The plugin is compatible with WP All Import Pro for bulk importing content. When importing:
- Set up your import as usual, mapping fields to the appropriate columns
- The plugin should automatically add the required blocks to imported posts
- After import, review and update any missing metadata as needed
Streamline the editing interface by removing unnecessary meta boxes
- Support for cleaning up UI elements individually in the "Developer Options" section of settings page
- GeneratePress - removes layout options and sections meta boxes
- Page Builder Framework - removes theme settings meta boxes
- Happy Files - Removed Featured image column as not required
- SEO Press - Removed extra un-needed Metaboxes and Content Analysis metaboxes Note: This is an opinionated list of themes and plugins we use at Weave Digital Studio and HumanKind Funeral websites, but can be extended for other tools
ποΈ This plugin is designed for modularity and ease of maintenance:
hk-funeral-suite/
βββ includes/
β βββ admin/
β β βββ class-settings-page.php # Plugin settings management
β β βββ class-capabilities.php # Custom capabilities for CPTs
β β βββ class-github-updater.php # GitHub automatic updates
β β βββ class-block-editor.php # Custom block defaults for CPTs
β β βββ class-post-mods.php # Post modifications/customizations
β β βββ class-admin.php # Admin-specific functionality
β β βββ class-hk-funeral-cpt-admin-columns.php # Adjust admin columns, remove SEO columns
β β βββ class-hk-funeral-cpt-compatibility.php # Add theme/plugin compatibility optimisations
β βββ blocks/
β β βββ assets/ # Shared block assets
β β β βββ block-editor-styles.css # Block editor specific styles
β β βββ team-member-block/
β β β βββ init.php # Team member block registration
β β β βββ index.js # Team member block script
β β βββ casket-block/
β β β βββ init.php # Casket block registration
β β β βββ index.js # Casket block script
β β βββ urn-block/
β β β βββ init.php # Urn block registration
β β β βββ index.js # Urn block script
β β βββ pricing-package-block/
β β β βββ init.php # Pricing package block registration
β β β βββ index.js # Pricing package block script
| | βββ monument-block/
β β β βββ init.php # Monument block registration
β β β βββ index.js # Monument block script
| | βββ keepsake-block/
β β β βββ init.php # Keepsake block registration
β β β βββ index.js # Keepsake block script
β β βββ block-styles.php # Shared block styling
β βββ cpt/
β β βββ class-product-cpt-factory.php # Factory for product-type CPTs
β β βββ cpt-registration.php # Dynamic CPT registration system
β β βββ cpt-shared-functions.php # Shared functions across all CPTs
β β βββ staff.php # Staff CPT registration
β β βββ packages.php # Packages CPT registration
β β βββ keepsakes.php # Keepsakes CPT registration
β βββ import/
β β βββ class-default-blocks-importer.php # Import integration
β βββ class-shortcodes.php # Shortcode registration ([hk_formatted_price], [hk_custom_field])
βββ assets/
β βββ images/ # Main plugin images
β βββ hk-funeral-suite-banner.png
β βββ icon-256x256.png
βββ README.md # Main documentation
βββ CHANGELOG.md # Version history
βββ beaver-themer-guide.md # Beaver Themer integration guide
βββ shortcode-usage.md # Shortcode usage examples
βββ LICENSE # License file
βββ hk-funeral-suite.php # Main plugin file
- Added new
[hk_custom_field]shortcode for reliable custom field display in Page Builders, including examples. - Changed default for
[hk_formatted_price]shortcode to show 0 decimal places (use decimals="2" to display cents)
- Added Support for the Keepsakes CPT in the Block Editor
- Added Core button blocks (
core/buttonandcore/buttons) to all CPTs - Fixed issue with slow post saving due to inefficient cache purging. Overall NGINX page cache improvements
- Fixed duplicate code in pricing package block save handler
- Added
decimals="0"parameter to shortcodes in the package admin column
- Added Shortcode added to the pricing packages admin for easier content embedding
- Fixed useEffect hook issues in Gutenberg blocks to properly sync metadata
- Fixed Google Sheets integration edge cases in price management system
- Added Enhanced cache clearing for REST API meta updates
- Improved Compatibility with external data sources and page builders
- Added Keepsakes custom post type for showcasing memorial keepsakes
- Added Custom meta fields for keepsakes including product code, metal type, and stones
- Added Keepsake block with specialised fields for easy content management
- Improved REST API support for keepsake meta fields
- Added Monuments custom post type for showcasing monuments and headstones
- Added Moved to shared CPT registration code for simplicity and easier extra CPTs
- Added Custom user roles for Funeral Staff and Funeral Manager for permissions and management
- Improved Centralised product registration with hooks for plugin extensibility
- Added Support for hiding SEOPress metaboxes on CPTs and UI cleanup
- Added Theme & Plugin UI optimisation settings to remove unnecessary meta boxes from funeral content types
- Added Support for cleaning up UI elements from GeneratePress, Page Builder Framework and Happy Files
- Renamed Admin classes for better consistency in the codebase
- Added block protection to prevent accidental deletion of required data fields in all custom post types
- Fixed synchronization between block editor and meta fields for intro paragraphs
- Removed redundant intro meta box from editor screen
- Added SEO column management to hide SEO columns when CPTs are set to non-public
- Centralised featured image column handling across all custom post types
- Renamed "Title" column to "Name" in admin lists for better clarity
- Performance: Added autosave and revision checks to prevent unnecessary processing for cpt updates
- Added New shortcode [hk_formatted_price] for outputting formatted prices.
- Consolidated CPT admin modifications into class-post-mods.php
- Updated Github auto plugin updater.
- Ensured settings changes properly flush rewrite rules
- Updated documentation
- Added: Google Sheets integration for pricing management
- Added: Enhanced UI for settings page
- Added: Allowed additional core blocks in funeral content types
- Added: New visibility settings for each CPT to control whether they have public-facing pages
- Added: Admin setting page with checkboxes to enable/disable public visibility for each content type
- Added: Filter hooks to allow themes to override CPT visibility settings
- Added: Default Blocks Importer functionality to automatically add necessary blocks to imported posts via WP All Import Pro
- Added: Default blocks are now properly added to posts created via REST API
- Added: GitHub Updates integration for seamless plugin updates directly through WordPress admin
- Fixed: Template locking issues to ensure proper block rendering while still allowing block additions
- Four custom post types: Staff, Caskets, Urns, and Pricing Packages
- Custom taxonomies for categorisation
- Specialised Gutenberg blocks for each post type
- Settings page for enabling/disabling features
- Custom capabilities for admin control
π¨βπ» Developed with β€οΈ by HumanKind, Weave Digital Studio, and Gareth Bissland.
For support, feature requests or bug reports, please use the GitHub issue tracker.
π This plugin is licensed under GPL v2 or later β feel free to modify and improve!
