=== Family Tree - Organization Chart ===
Contributors: wpmart
Tags: family tree, org chart, organization chart, team members, hierarchy
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Build family trees and organization charts with member profiles, a visual tree builder, templates, a style customizer and profile popups.

== Description ==

**Family Tree - Organization Chart** lets you show a family tree, a company org chart, a team structure or any other hierarchy on your site. Add your members once, build as many charts as you need, style them live and place them with a shortcode.

= Features =

* **Members** with name, designation, short details, full profile (WordPress editor), picture and social icons.
* **Visual tree builder** on each chart. Add, move, nest or remove members, or create a new member without leaving the page.
* **Templates.** Pick a template and get a ready shortcode: `[ftree_6310_tree id="123"]`.
* **Live customizer** for fonts, colors, spacing, alignment, image size, connector lines and buttons, with an instant preview.
* **Profile popup** that shows the member's full profile.
* **Expand and collapse** branches (Pro).
* **Zoom in, zoom out, reset zoom and full screen** buttons, which you can turn on or off per chart (Pro).
* **Profile popup styles.** Classic centered popup (free), plus side panel, full screen and bottom sheet (Pro), chosen per chart.
* **Settings page** (Pro) for the popup close button (position, shape, size, colors, close on outside click / Esc) and the loading indicator shown while a profile opens (spinner, dots, pulse or bar).
* **Export / Import.** Export members, charts and settings to a .json file; import it on another site (import is Pro).
* **Search & AI ready.** Each chart adds schema.org structured data (JSON-LD) listing its people with name, job title, description, picture and social profiles, so Google and AI search tools (ChatGPT, Perplexity, Gemini, Copilot) can understand who is on the page. You can turn it off per chart.
* **Found by site search.** WordPress search (and Relevanssi) finds the pages that show a chart when visitors search for a member's name, job title or short details. Pages that only hold a chart also get an automatic excerpt listing its members.
* **Mobile responsive.** On small screens the chart becomes an easy-to-read indented list.
* **Demo data.** Import 7 sample members and a chart on activation to get started quickly.
* **Theme overrides.** Copy any file from `templates/` into `your-theme/family-tree/` to change the markup.
* **Translation ready** and compatible with **WPML**, **Polylang** and other multilingual plugins (see below). RTL languages are supported.

= Multilingual (WPML, Polylang) =

* Members are translatable posts. Translate a member in WPML or Polylang as you would a page.
* You build a chart once. It shows each member's translation in the visitor's language and falls back to the original when a translation is missing.
* The chart title and button text are translatable strings. Use WPML → String Translation or Polylang → Languages → Translations, group "Family Tree - Organization Chart".
* A `wpml-config.xml` file is included, so WPML knows which member fields to translate and which to copy.

= Pro =

A Pro license unlocks:

* **Templates 02 to 06** (the free version includes template 01).
* **Contacts** on each member: mobile, phone, WhatsApp, email, website, Telegram, Skype, address or custom rows.
* **Skills** with percentage bars.
* **Unlimited social icons** per member (the free version shows one).
* **Expand / collapse** toggles on each branch.
* **Zoom in, zoom out, reset zoom and full screen** buttons on the front end.
* **Profile popup styles 2–4:** side panel, full screen and bottom sheet (style 1, the classic centered popup, is free).
* **Settings page:** customize the popup close button (position, content, shape, size, colors, close on outside click / Esc) and the loading indicator (spinner, dots, pulse or bar, color, size, text).
* **Import** of members, charts and settings from an export file (export is free).

You can try every Pro feature with a free demo key: click **Get a free demo key** on the **Family Tree → License** page. It has no time limit on a local site and works for 10 days on a live site.

== Installation ==

1. Install the plugin from **Plugins → Add New**, or upload the `wm-family-tree-organization-chart` folder to `/wp-content/plugins/`.
2. Activate the plugin. You can import the demo data from the notice that appears.
3. Add members under **Family Tree → Add Member**.
4. Go to **Family Tree → Templates & Shortcodes**, pick a template, then build the tree on the **Members** tab and style it on the **Design** tab.
5. Copy the shortcode into any page, post or widget.

== Frequently Asked Questions ==

= How do I show a chart on a page? =

Copy the shortcode from **Family Tree → Templates & Shortcodes** (for example `[ftree_6310_tree id="123"]`) and paste it into a page or a Shortcode block.

= Can one member appear in several charts? =

Yes. Members are shared, and each chart keeps its own tree.

= How do I translate a chart? =

Translate the members with WPML or Polylang. The chart then shows the translated members automatically. Translate the chart title and button text under String Translation (WPML) or Languages → Translations (Polylang).

= Does the chart work with SEO and AI search? =

Yes. Each chart prints schema.org `ItemList` / `Person` structured data (JSON-LD) next to the regular HTML, so search engines and AI assistants can read the members, their job titles and social profiles. Only details you show on the chart are included; contacts are never added. Turn it off with the "Structured data for search & AI" switch in the customizer, or change it with the `ftree_6310_structured_data` filter.

= Will my site search find people in a chart? =

Yes. A search for a member's name, designation or short details returns the pages that show a chart with that member. This works with the built-in WordPress search and with Relevanssi (rebuild the Relevanssi index after changing a chart). Developers can turn it off with `add_filter( 'ftree_6310_search_enabled', '__return_false' );`.

= Can I change the HTML of the cards? =

Yes. Copy a file from the plugin's `templates/` folder to `your-theme/family-tree/` and edit it there.

= What happens to my data if I delete the plugin? =

Charts and plugin settings are removed. Members are kept, so you don't lose your content.

== Screenshots ==

1. A family tree on the front end.
2. The profile popup.
3. The tree builder on the Members tab.
4. The live style customizer.
5. Templates and shortcodes.
6. The mobile layout.

== External services ==

This plugin connects to wpmart servers only for Pro licenses and demo keys. Nothing is sent unless you enter a license key or click **Get a free demo key** on the **Family Tree → License** page.

**Pro license server**

* Service: `https://demo.tcsesoft.com/handle-license/pro-license.php`
* When: when you activate, deactivate or refresh a license, and once a day while a license is active.
* Data sent: the license key, the site URL, the product name and the plugin version.

**Demo key server**

* Service: `https://demo.tcsesoft.com/handle-license/demo-license.php`
* When: when you click **Get a free demo key**, when you activate or refresh a demo key, and once a day while a demo key is active.
* Data sent: the demo key (if any), the site URL, the plugin identifier and the plugin version. The server also sees your server's IP address, which it uses to limit how many demo keys can be requested.

Provider for both: wpmart. Terms of use and privacy policy: https://www.wpmart.org/

== Credits ==

Bundles Font Awesome Free 6.7.2 (icons CC BY 4.0, fonts SIL OFL 1.1, code MIT): https://fontawesome.com/license/free

== Changelog ==
= 1.1 =
* More feature added.

= 1.0 =
* Initial release.

