{"id":393014,"date":"2026-10-29T17:55:01","date_gmt":"2026-10-29T17:55:01","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/my-family-tree\/"},"modified":"2026-10-29T17:58:40","modified_gmt":"2026-10-29T17:58:40","slug":"digitalpulse-family-archive","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/digitalpulse-family-archive\/","author":23593293,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.4.0","stable_tag":"1.4.0","tested":"7.1.4","requires":"6.5","requires_php":"7.4","requires_plugins":null,"header_name":"DigitalPulse Family Archive","header_author":"Raivis Kalnins \u2014 DigitalPulse","header_description":"Free, open-source family trees with biographies, photo galleries, multilingual labels, private access and demo tools.","assets_banners_color":"","last_updated":"2026-10-29 17:58:40","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/digitalpulse.click\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":75,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"digitalpulse","date":"2026-10-29 17:54:40","revision":3773678},"1.4.0":{"tag":"1.4.0","author":"digitalpulse","date":"2026-10-29 17:58:40","revision":3773694}},"upgrade_notice":{"1.3.2":"<p>Adds birthdays, optional birthday email, Latvian name days and clearer sibling grouping. Replace the complete ZIP and clear Family Tree\/static caches. Birthday email is opt-in under Birthdays &amp; calendar.<\/p>","1.2.7":"<p>Adds WhatsApp contacts, photo stories, smoother galleries, optional modern image copies, closer child placement and a familiar demo editor. Replace the complete plugin ZIP and clear static caches. Prepare existing photographs in Performance &amp; cache when an encoder is available.<\/p>","1.2.6":"<p>Fixes extra frontend gallery photos absent from the editor. Saved selections, including an empty gallery, now control the display. Replace with the complete ZIP and clear cached assets. Person data and media are retained.<\/p>","1.2.5":"<p>Fixes gallery retention and improves portrait, language and person controls. Replace the existing DigitalPulse Family Archive plugin with the complete ZIP and clear cached assets. Existing person data and media are retained.<\/p>","1.2.4":"<p>Updates WordPress compatibility metadata to 7.1. Replace DigitalPulse Family Archive 1.2.3 with this complete ZIP. Existing data and settings are retained. For the older WP DigitalPulse Family Archive name, follow Installation migration steps.<\/p>","1.2.3":"<p>Renamed to DigitalPulse Family Archive. Back up, deactivate WP DigitalPulse Family Archive, install this ZIP, then activate DigitalPulse Family Archive. The new folder is a separate plugin. Family data and settings are retained. See Installation for migration steps.<\/p>","1.2.2":"<p>Replace the plugin and clear the page cache. The footer Contact us \/ Pieteikties button opens the administrator contact form again, including the optional photo attachment. Existing settings and family data are retained.<\/p>","1.2.1":"<p>Use the complete ZIP to replace the plugin. Shared demos now restore their editable sample fields every 24 hours. Existing active demos without a saved baseline use the original bundled sample fields. Footer and relationship-line improvements apply immediately.<\/p>","1.2.0":"<p>Use the complete ZIP to replace the plugin. Existing family data and privacy settings are retained. Demo import and shared demo mode require separate opt-in.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":{"wp-my-family-tree\/tree":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"wp-my-family-tree\/tree","version":"1.2.8","title":"Family Tree","category":"widgets","icon":"networking","description":"An interactive oak family tree with person dialogs and optional private access.","keywords":["family","genealogy","oak"],"textdomain":"digitalpulse-family-archive","attributes":{"rootId":{"type":"number","default":0}},"supports":{"html":false,"multiple":false,"align":["wide","full"]},"editorScript":"file:.\/assets\/editor.js","editorStyle":"file:.\/assets\/admin.css"}},"tagged_versions":["1.0.0","1.4.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3773696,"resolution":"1","location":"plugin","width":1440,"height":1294}},"screenshots":{"1":"Fictional family records with realistic public-domain archival demonstration photographs in the interactive oak-inspired tree."}},"plugin_section":[],"plugin_tags":[2902,24736,24730,396,80],"plugin_category":[43,54],"plugin_contributors":[],"plugin_business_model":[],"class_list":["post-393014","plugin","type-plugin","status-publish","hentry","plugin_tags-family","plugin_tags-family-tree","plugin_tags-genealogy","plugin_tags-privacy","plugin_tags-shortcode","plugin_category-customization","plugin_category-security-and-spam-protection","plugin_committers-digitalpulse"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/digitalpulse-family-archive.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/digitalpulse-family-archive\/trunk\/screenshot-1.png?rev=3773696","caption":"Fictional family records with realistic public-domain archival demonstration photographs in the interactive oak-inspired tree."}],"raw_content":"<!--section=description-->\n<p>DigitalPulse Family Archive is a free, open-source WordPress plugin that turns ordinary posts into an interactive family archive. An oak-inspired tree, leaf-shaped portraits and personal stories help visitors explore relationships across generations.<\/p>\n\n<p>Add a Family Tree block or the [wp_my_family_tree] shortcode to a page. Choose a full-window layout or embed the tree in your theme. People remain WordPress posts, and compatible records from the older WP Family Tree plugin can be reused.<\/p>\n\n<h4>Free and open source<\/h4>\n\n<p>All included plugin features are available free of charge, with no paid plugin license or subscription required. The plugin is released under GPL-3.0-or-later and includes readable source code for modification and redistribution under that license.<\/p>\n\n<p>hCaptcha and Polylang are optional integrations. Their requirements and external-service terms are described below.<\/p>\n\n<h4>Explore the family<\/h4>\n\n<ul>\n<li>Drag or swipe the tree, pinch to zoom, find a person and follow family branches.<\/li>\n<li>Open biographies, dates, places, contact details and optional social profile links.<\/li>\n<li>Swipe through person photographs; use arrows, gallery dots or the keyboard.<\/li>\n<li>Open authorized person editing in a new tab.<\/li>\n<li>Expand only the tree area to fullscreen, with an in-page fallback and an exit control.<\/li>\n<li>Save or print a tree-only image without the page header or administrator contact footer.<\/li>\n<li>Use a responsive people directory, a compact email\/contact footer and optional home-screen installation help.<\/li>\n<\/ul>\n\n<h4>Manage relationships and access<\/h4>\n\n<ul>\n<li>Record parents and multiple partners, including current and former relationships.<\/li>\n<li>Keep both recorded parents in a child's view without inventing step-parent links.<\/li>\n<li>Choose the person-first editor or enable WordPress's block editor for biographies.<\/li>\n<li>Require a family viewing password, retain access for up to 30 days and revoke remembered sessions.<\/li>\n<li>Optionally encrypt family media and deliver protected files through access checks.<\/li>\n<li>Accept private contact messages with one optional photo through WordPress mail.<\/li>\n<\/ul>\n\n<p>New private installations remain locked until an administrator configures a password. The shared family password grants viewing access, not WordPress editing permission. The plugin must remain active for its access controls to apply.<\/p>\n\n<h4>Languages<\/h4>\n\n<p>English is the default for new installations. Complete frontend dictionaries are included for English, Spanish, Polish, French, German, Latvian, Lithuanian, Estonian, Danish, Swedish, Norwegian Bokm\u00e5l, Norwegian Nynorsk, Finnish and Icelandic.<\/p>\n\n<p>Enable presets, add any number of custom languages, edit label dictionaries and configure translated titles in the Languages settings. Missing labels fall back to English. Administrator translation coverage varies: common controls are translated in the presets, with English fallback for remaining labels and editable administrator overrides.<\/p>\n\n<p>Polylang is optional. When configured, its translated page URLs and person posts provide content translations. Without it, the plugin language menu changes interface labels. No automatic translation service is used.<\/p>\n\n<h4>Performance and cleanup<\/h4>\n\n<p>The server-side relationship index supports automatic storage selection, WordPress transients and an existing persistent WordPress object cache. Redis or Memcached must be supplied by the host or a separate compatible cache plugin; this plugin does not install or replace an object-cache drop-in.<\/p>\n\n<p>Administrators can clear only the Family Tree index from settings or the WordPress toolbar. The toolbar icon rotates while clearing. Password sessions, anti-spam limits, encrypted media and other plugins' caches are retained.<\/p>\n\n<p>Production JavaScript and CSS are supplied minified with readable sources. Optional settings compact standalone HTML, remove emoji fallback assets and unnecessary head tags, disable public comments on ordinary posts\/pages\/media, or omit theme styles from full-window tree pages. Private family pages and API responses retain no-store behavior.<\/p>\n\n<h4>Optional demo<\/h4>\n\n<p>An administrator can import eight fictional members of the Morgan family, realistic public-domain archival demo photographs and two English pages. Names, dates, biographies and relationships are invented. The photographs are illustrative and do not depict the named fictional people. The import succeeds only when all eight archival source photographs can be downloaded and validated; it never silently substitutes placeholder portraits.<\/p>\n\n<p>Importing requires confirmation and preserves existing records, pages, media and settings. Repeating the import preserves edits to marked demo records. It does not create an account or enable public demo access.<\/p>\n\n<p>On an isolated single-site installation with no real family records, a separately confirmed shared demo mode creates the username demo with password Demo@demo123Editor and front-end password demo. No such account exists by default. An existing demo username is not modified.<\/p>\n\n<p>The custom Family Tree Demo Editor can add, edit and remove demo persons and pages through a constrained dashboard using the regular person editor's visual layout. Personal details, contact fields, WhatsApp numbers, photo stories and dates are editable. A read-only Settings overview explains the tree page, appearance, languages, access, contact and performance options. The account cannot manage real content, site settings, users, plugins or uploads. Contact sending and the administrator WhatsApp link are disabled during shared demo mode. Demo edits are public.<\/p>\n\n<p>On an empty first installation the Demo tab is available during setup. After setup, enable Show the Demo tab for sample content and demo sharing in General settings whenever you need these optional tools. Hiding the tab does not disable active sharing or daily reset; General always provides a control to manage or stop active sharing.<\/p>\n\n<p>Removal requires confirmation. The starting person and tree landing page remain available, and up to 50 visitor-created records are allowed per reset cycle. Persons and Demo pages provide clear Add, Edit, Remove and View actions.<\/p>\n\n<p>Real family records, including drafts and trashed records, block shared demo mode. If isolation later fails, demo access is locked and shared sessions are revoked. Disabling the mode revokes the shared account and sessions, retains sample content, and restores normal privacy behavior. The normal family password hash is not overwritten.<\/p>\n\n<h4>Daily demo reset<\/h4>\n\n<p>While shared demo mode is active, the plugin restores original demo titles, stories, publication status, personal details, contact fields, WhatsApp numbers, photo stories and dates to a retained starting copy every 24 hours. Removed original samples return, and records created through the shared demo editor are deleted. The reset checks demo ownership before changing a record and preserves real family records, relationships, media and normal settings. No backup plugin is required.<\/p>\n\n<p>The task uses WordPress cron, with an overdue check before the next demo access or edit. On a site with no requests, execution can be later than the scheduled time. Demo settings show the next reset and offer a confirmed Reset demo now control. Old editor forms must be reloaded after a reset. The saved starting copy survives disabling and re-enabling demo mode. Active older demos without a saved copy use the original bundled sample fields.<\/p>\n\n<p>To replace the saved starting copy deliberately, disable sharing, edit the samples as an administrator, and confirm Save current demo as reset baseline before enabling sharing again.<\/p>\n\n<h4>Privacy and external services<\/h4>\n\n<p>The plugin has no analytics, telemetry, author-operated service or external update system. Core tree code, styles and icons are included in the package. Social links, website links and the optional author credit are ordinary links followed only by a visitor's action; the author credit is off by default.<\/p>\n\n<p>hCaptcha is an optional external anti-spam service and is disabled by default. An administrator must obtain an hCaptcha account, enter a site key and secret, and enable the relevant form before it is used.<\/p>\n\n<p>On enabled challenge forms, the browser loads https:\/\/js.hcaptcha.com\/1\/api.js and contacts hCaptcha and its challenge\/asset hosts. hCaptcha receives browser\/network information and challenge interactions as described in its privacy policy. The site's server sends the site key, secret, challenge response token and visitor IP address to https:\/\/api.hcaptcha.com\/siteverify to verify the response. The secret is not exposed to the browser.<\/p>\n\n<ul>\n<li>Service: https:\/\/www.hcaptcha.com\/<\/li>\n<li>Terms: https:\/\/www.hcaptcha.com\/terms<\/li>\n<li>Privacy: https:\/\/www.hcaptcha.com\/privacy<\/li>\n<\/ul>\n\n<p>The optional administrator-triggered demo import can download a fixed set of public-domain archival photographs from Wikimedia Commons. This request happens only when an administrator imports or refreshes demo content; no family records, passwords, contact details or visitor identifiers are sent by the plugin. If any photograph cannot be downloaded and validated, the import\/refresh reports that file and does not report a successful media refresh. The sample names, dates, biographies and relationships remain fictional and the photographs do not depict the named sample people.<\/p>\n\n<ul>\n<li>Service: https:\/\/commons.wikimedia.org\/<\/li>\n<li>Terms: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Terms_of_Use<\/li>\n<li>Privacy: https:\/\/foundation.wikimedia.org\/wiki\/Policy:Privacy_policy<\/li>\n<li>Media credits and licence notes: docs\/THIRD-PARTY.md<\/li>\n<\/ul>\n\n<p>Contact messages use wp_mail() and the site's configured mail transport. An optional photograph is attached to the email, not published or added to the Media Library. Temporary upload files are removed after processing. Your mail provider or other mail-logging plugins may retain their own copies.<\/p>\n\n<p>Normal family viewing uses a server-validated cookie. Demo sharing uses a separate cookie and session namespace. No service worker or offline family-data cache is registered.<\/p>\n\n<h4>Development and support<\/h4>\n\n<p>Readable PHP, JavaScript and CSS are included. Minified assets are built with esbuild 0.25.5; package.json, package-lock.json and scripts\/build-assets.mjs are supplied. Developers can run npm ci followed by npm run build with Node 18 or newer. Node and npm are not needed on the WordPress server.<\/p>\n\n<p>Source and ordinary bug reports:\nhttps:\/\/digitalpulse.click\/<\/p>\n\n<p>See readme.md for the complete administration, privacy, backup and troubleshooting guide. See SECURITY.md before reporting a security issue. Do not include real family records, photographs, passwords, keys or private logs in public issues.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the complete digitalpulse-family-archive-1.4.0.zip through Plugins &gt; Add New Plugin &gt; Upload Plugin, or place the digitalpulse-family-archive directory in wp-content\/plugins.<\/li>\n<li>Activate DigitalPulse Family Archive. If migrating from WP DigitalPulse Family Archive, follow the rename instructions below before activation.<\/li>\n<li>Deactivate the older WP Family Tree plugin if it is still active. Keep its existing posts and media.<\/li>\n<li>Open Family Tree settings, select the family category and starting person, and create or select a tree page.<\/li>\n<li>Insert the Family Tree block or [wp_my_family_tree] shortcode on the page.<\/li>\n<li>Set a family viewing password under Privacy, or deliberately choose a public tree.<\/li>\n<li>Review appearance, contact settings and languages. Polylang and persistent object caching are optional.<\/li>\n<li>Check the visitor experience in a signed-out browser window.<\/li>\n<\/ol>\n\n<p>The shortcode accepts root=\"123\" for a starting person or view=\"list\" for the directory. Legacy [family-tree] and [family-members] shortcodes are supported for migration.<\/p>\n\n<h4>Updating DigitalPulse Family Archive 1.2.3 or later<\/h4>\n\n<p>Back up the site, then upload the complete new ZIP through Plugins &gt; Add New Plugin &gt; Upload Plugin and choose Replace current with uploaded. Keep the digitalpulse-family-archive folder name and verify the tree after updating. Existing family data and settings are retained.<\/p>\n\n<h4>Upgrading from WP DigitalPulse Family Archive 1.2.2 or earlier<\/h4>\n\n<p>Version 1.2.3 changes the public plugin name and folder to DigitalPulse Family Archive \/ digitalpulse-family-archive. WordPress treats it as a separate plugin, so its uploader will not replace the old wp-digitalpulse-family-archive folder.<\/p>\n\n<ol>\n<li>Back up the database and uploads together. For a private archive, enable independent site access protection during the switch because the old plugin's access checks stop when it is deactivated.<\/li>\n<li>Deactivate WP DigitalPulse Family Archive, including its network activation if applicable.<\/li>\n<li>Upload the complete new ZIP and activate DigitalPulse Family Archive. Do not activate both copies together.<\/li>\n<li>Verify the tree page, privacy settings, contact form, photographs and person editing. Existing people, relationships, settings, media-encryption keys, shortcodes and saved blocks are retained; no database import is required.<\/li>\n<li>After verification, remove the inactive old plugin through Plugins. Its bundled code has no uninstall data-deletion routine. Keep the new DigitalPulse Family Archive plugin active.<\/li>\n<\/ol>\n\n<p>Deactivation revokes shared demo access. On an isolated demonstration site, re-enable shared demo mode explicitly if needed; imported samples and their saved reset baseline remain available. Future updates within the digitalpulse-family-archive folder can use WordPress's normal replacement workflow.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20add%20whatsapp%20chat%20links%3F\"><h3>Can I add WhatsApp chat links?<\/h3><\/dt>\n<dd><p>Yes. Enable the optional administrator button in Contact &amp; hCaptcha and enter an international phone number with its country code. The administrator button is visible before and after family sign-in, except in public demo mode. Each person has a separate optional WhatsApp field. Clicking a button opens https:\/\/wa.me\/ using WhatsApp\u2019s click-to-chat feature. No WhatsApp script loads and no contact request is sent automatically. WhatsApp is operated by Meta; its terms and privacy policy apply after following the link: https:\/\/www.whatsapp.com\/legal\/ and https:\/\/www.whatsapp.com\/legal\/privacy-policy\/.<\/p><\/dd>\n<dt id=\"how%20do%20photo%20stories%20and%20modern%20image%20formats%20work%3F\"><h3>How do photo stories and modern image formats work?<\/h3><\/dt>\n<dd><p>Each gallery photograph has a description and a flexible When \/ date field in the person editor. These are saved for that person, without changing a shared attachment\u2019s captions elsewhere. Performance &amp; cache can prepare smaller AVIF or WebP display copies where the server\u2019s WordPress image editor supports them. Original files are retained. Existing archives use the manual batch tool; later person edits queue background preparation. Protected copies remain encrypted and use authenticated delivery. Animated images keep their existing format, and unavailable encoders fall back to ordinary WordPress image sizes.<\/p><\/dd>\n<dt id=\"is%20digitalpulse%20family%20archive%20free%20to%20use%3F\"><h3>Is DigitalPulse Family Archive free to use?<\/h3><\/dt>\n<dd><p>Yes. DigitalPulse Family Archive is a free, open-source WordPress plugin licensed under GPL-3.0-or-later. All included features are available without a paid plugin license or subscription. Optional third-party integrations remain subject to their providers' terms.<\/p><\/dd>\n<dt id=\"does%20it%20work%20without%20polylang%3F\"><h3>Does it work without Polylang?<\/h3><\/dt>\n<dd><p>Yes. Interface languages work independently. Polylang is optional for translated WordPress pages and biographies. The settings provide an installation link when it is absent; it is not installed automatically.<\/p><\/dd>\n<dt id=\"can%20i%20add%20a%20language%20that%20is%20not%20included%3F\"><h3>Can I add a language that is not included?<\/h3><\/dt>\n<dd><p>Yes. Add a language code, display name, locale and optional frontend\/admin label overrides in Languages. There is no fixed language-count limit. Missing translations use English.<\/p><\/dd>\n<dt id=\"is%20the%20entire%20wordpress%20dashboard%20translated%20by%20this%20plugin%3F\"><h3>Is the entire WordPress dashboard translated by this plugin?<\/h3><\/dt>\n<dd><p>No. The plugin's interface-language control affects its own labels. Administrator presets have varying coverage and use English where a translation is missing. WordPress core and the theme use their own language packs.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20the%20older%20wp%20family%20tree%20data%3F\"><h3>Does this replace the older WP Family Tree data?<\/h3><\/dt>\n<dd><p>It can read compatible existing person posts and relationship metadata. Deactivate the older plugin to prevent competing shortcodes and its legacy errors. Keep the existing posts and photographs; a database import is not required.<\/p><\/dd>\n<dt id=\"will%20clearing%20the%20cache%20remove%20my%20family%20data%20or%20log%20visitors%20out%3F\"><h3>Will clearing the cache remove my family data or log visitors out?<\/h3><\/dt>\n<dd><p>No. It clears this site's Family Tree performance index and updates plugin asset version URLs. It does not clear viewing sessions, passwords, anti-spam limits, encrypted files or other plugins' caches.<\/p><\/dd>\n<dt id=\"does%20object%20caching%20require%20redis%3F\"><h3>Does object caching require Redis?<\/h3><\/dt>\n<dd><p>No separate service is required for transient caching. Persistent object caching needs a supported host\/cache plugin backend, which can use Redis, Memcached or another compatible store. The plugin reports the available backend and falls back to transients when necessary.<\/p><\/dd>\n<dt id=\"is%20demo%20sharing%20safe%20to%20enable%20on%20my%20real%20family%20archive%3F\"><h3>Is demo sharing safe to enable on my real family archive?<\/h3><\/dt>\n<dd><p>Shared mode is intentionally blocked when any real family record exists, including unpublished and trashed records. Use a separate demonstration site. Importing sample content by itself does not enable shared access.<\/p><\/dd>\n<dt id=\"can%20the%20public%20demo%20account%20edit%20my%20other%20wordpress%20pages%3F\"><h3>Can the public demo account edit my other WordPress pages?<\/h3><\/dt>\n<dd><p>No. The custom demo role can add, edit and remove demo persons and pages through a restricted editor, and inspect a read-only Settings overview. It has no normal Editor privileges, upload access or permission to save site settings. Disable demo mode to revoke the account and its sessions.<\/p><\/dd>\n<dt id=\"are%20the%20demo%20names%20and%20images%20real%20family%20records%3F\"><h3>Are the demo names and images real family records?<\/h3><\/dt>\n<dd><p>No. The sample people are fictional and use invented names, dates, biographies and relationships. Optional demo import downloads public-domain archival photographs for illustration; those photographs do not depict the named fictional people. If Wikimedia Commons is unavailable, the administrator is shown the failed source instead of silently receiving placeholder artwork.<\/p><\/dd>\n<dt id=\"how%20do%20i%20share%20only%20the%20tree%3F\"><h3>How do I share only the tree?<\/h3><\/dt>\n<dd><p>Use the fullscreen button in the tree panel. The close button or Escape exits. Save tree image and Print tree render the selected family branch without the site header, footer or administrator contact details.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20a%20gallery%20photograph%20is%20zoomed%3F\"><h3>What happens when a gallery photograph is zoomed?<\/h3><\/dt>\n<dd><p>Swiping pans the enlarged photograph. Exit zoom to swipe between photographs; arrows and keyboard navigation remain available.<\/p><\/dd>\n<dt id=\"does%20the%20home-screen%20view%20work%20offline%3F\"><h3>Does the home-screen view work offline?<\/h3><\/dt>\n<dd><p>No. It requires an internet connection and the same family access checks as the website. Browser installation support and menu labels vary.<\/p><\/dd>\n<dt id=\"what%20should%20i%20back%20up%20when%20using%20encrypted%20family%20media%3F\"><h3>What should I back up when using encrypted family media?<\/h3><\/dt>\n<dd><p>Back up the database and encrypted uploads together. The matching encryption key is stored in the database. Keep original backups before enabling protection for existing photographs.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20deactivate%20or%20delete%20the%20plugin%3F\"><h3>What happens when I deactivate or delete the plugin?<\/h3><\/dt>\n<dd><p>Demo sharing is revoked on deactivation. Person posts, settings and media are retained. The plugin does not automatically erase archive data or encryption keys. Its access controls stop when it is inactive, so independently protect private published content before disabling it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Renamed the WordPress.org package identity and text domain to DigitalPulse Family Archive \/ digitalpulse-family-archive.<\/li>\n<li>Removed bundled gettext translation artifacts so WordPress.org can distribute community translations.<\/li>\n<li>Hardened title-filter output escaping and moved the restricted demo menu away from the top core-menu positions.<\/li>\n<li>Rechecked privileged write handlers for capability and nonce protection.<\/li>\n<\/ul>\n\n<h4>1.3.9<\/h4>\n\n<ul>\n<li>Fixed demo gallery delivery by keeping public-domain demo media public while real family media remains protected.<\/li>\n<li>Increased family-card spacing and sibling branch separation.<\/li>\n<li>Bundled Latvian name-day data locally and removed the runtime remote-data dependency.<\/li>\n<li>Added translator comments for placeholder strings and cleaned several Plugin Check findings.<\/li>\n<\/ul>\n\n<h4>1.3.5<\/h4>\n\n<ul>\n<li>Fixed the demo photograph importer to use Wikimedia Commons Special:Redirect file URLs instead of fragile calculated upload paths.<\/li>\n<li>Made demo media refresh transactional: all eight portraits and four gallery photographs must validate before any existing media is replaced.<\/li>\n<li>Removed bundled monogram\/placeholder demo images and added an administrator media-health count.<\/li>\n<li>Clears Family Tree caches after a successful demo-media refresh.<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Added the realistic fictional Morgan family dataset and public-domain archival photo source documentation.<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Replaced the legacy placeholder demo with a realistic fictional heritage-family dataset.<\/li>\n<li>Added optional public-domain archival demo photographs from Wikimedia Commons with bundled offline fallbacks and source credits.<\/li>\n<li>Added an administrator-only refresh action for existing demo sites and rebuilt demo photo captions.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Refined birthday\/name-day calendar typography, cell padding, edge spacing and month navigation controls.<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Added a family birthday calendar and warm same-day birthday notice for living relatives.<\/li>\n<li>Added optional once-per-year birthday email to living people with an email address, linking back to their family profile.<\/li>\n<li>Added Latvian name-day notices and calendar matching, with no name-day email, plus an optional per-person MM-DD override.<\/li>\n<li>Kept siblings with the same recorded parents together and wrapped separate large family groups onto clearer additional rows.<\/li>\n<li>Retained the 1.2.9 portrait-refresh, thumbnail fallback and resilient AVIF\/WebP optimizer fixes.<\/li>\n<\/ul>\n\n<h4>1.2.7<\/h4>\n\n<ul>\n<li>Added optional administrator and per-person WhatsApp chat links with international number validation.<\/li>\n<li>Added per-person descriptions and flexible dates for each gallery photograph, with add\/reorder persistence.<\/li>\n<li>Improved responsive gallery loading, reduced-motion-aware placeholders and recoverable image errors.<\/li>\n<li>Added capability-aware AVIF\/WebP display copies, adjustable quality and a batch tool for existing photographs without replacing originals.<\/li>\n<li>Aligned children with recorded parents and tightened single-child spacing while preserving couple and connector clearance.<\/li>\n<li>Matched the restricted demo editor to the normal person form, extended daily reset to new editable fields, and moved optional demo tools behind a General setting after initial setup.<\/li>\n<\/ul>\n\n<h4>1.2.6<\/h4>\n\n<ul>\n<li>Made each saved gallery selection control the frontend exactly, including its order and an intentionally empty gallery.<\/li>\n<li>Stopped automatically adding the portrait or old attached images to a saved gallery; the profile portrait remains separate.<\/li>\n<li>Showed inherited and legacy gallery photographs in the person editor so they can be retained, reordered or removed.<\/li>\n<li>Respected explicit translated galleries without merging images back from another language.<\/li>\n<li>Preserved private-media detection, authorization and encryption for portraits, content images and attached files outside the visible gallery.<\/li>\n<\/ul>\n\n<h4>1.2.5<\/h4>\n\n<ul>\n<li>Fixed gallery additions discarding earlier photographs; new selections append without duplicating existing images.<\/li>\n<li>Separated Add photographs and Reorder photographs, with complete-gallery loading and safe cancellation or load failure.<\/li>\n<li>Styled the portrait removal button with matching dimensions, a removal icon and keyboard focus.<\/li>\n<li>Replaced the outlined language select with local SVG flags, readable names and an accessible touch and keyboard menu.<\/li>\n<li>Added Persons, Add person and related dashboard labels, including Latvian translations and a setting to restore ordinary post labels.<\/li>\n<li>Added person\/page create, edit and remove actions and a read-only settings overview to the shared demo dashboard.<\/li>\n<li>Extended the daily demo reset to restore removed original samples and clean up visitor-created demo records.<\/li>\n<li>Removed the unused WordPress Command Palette from restricted demo screens to prevent denied background API requests and JavaScript errors.<\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Updated the directory compatibility header to WordPress 7.1, with current-core verification on WordPress 7.1.3.<\/li>\n<li>Synchronized release metadata and installation guidance for the complete 1.2.4 package.<\/li>\n<li>Clarified free, open-source distribution, GPL licensing and optional integrations for the WordPress.org submission.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Renamed the public plugin to DigitalPulse Family Archive, with the digitalpulse-family-archive folder and matching translation domain, for directory resubmission.<\/li>\n<li>Updated plugin metadata, translation filenames and release documentation while preserving family data, settings, existing shortcodes and saved blocks.<\/li>\n<li>Added guidance and activation protection for switching from the old wp-digitalpulse-family-archive folder.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Restored the footer contact form for signed-out and signed-in visitors, replacing unintended account links.<\/li>\n<li>Updated Latvian Pieteikties labels and relative-description guidance while retaining photo attachments and contact protections.<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Added a built-in 24-hour reset for public demo edits, a retained baseline, overdue recovery and an administrator Reset now control.<\/li>\n<li>Moved the optional developer credit below the left footer motto.<\/li>\n<li>Added footer WordPress Sign in \/ Dashboard links with icons.<\/li>\n<li>Improved relationship connectors and highlighting in dense family trees.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Added touch gallery swiping with drag feedback, zoom-aware navigation and accessible controls.<\/li>\n<li>Opened authorized person editing in a new tab.<\/li>\n<li>Added tree-only fullscreen, an in-page fallback, exit controls and tree-only PNG\/print output.<\/li>\n<li>Added persistent object-cache selection and scoped animated toolbar cache clearing.<\/li>\n<li>Added fourteen frontend language presets, unlimited custom languages and editable label dictionaries.<\/li>\n<li>Added optional Polylang installation guidance.<\/li>\n<li>Added confirmed, additive cinema demo import and separately enabled restricted demo sharing.<\/li>\n<li>Compacted the footer and made its email address a mail button.<\/li>\n<li>Added legacy-plugin conflict guidance and public distribution documentation.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Added the relationship index cache, settings-panel clearing, WordPress cleanup controls and minified assets.<\/li>\n<li>Added conservative standalone HTML compaction, duplicate viewport removal and optional lean theme styling.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Improved mobile tree dragging and pinch gestures.<\/li>\n<li>Aligned gallery removal controls in the person editor.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Added the person-first editor, contact and social fields, private photo messages and home-screen installation controls.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Added explicit current\/former partner status and preserved both recorded parents in a child's tree.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Improved photograph framing, Polylang page-language synchronization and the people directory.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial interactive tree, person gallery, legacy-data compatibility and private viewing support.<\/li>\n<\/ul>","raw_excerpt":"Free, open-source family tree with biographies, touch galleries, multilingual labels, private access and fullscreen viewing.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/393014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=393014"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/digitalpulse"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=393014"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=393014"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=393014"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=393014"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=393014"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=393014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}