📄 Plugin Documentation

WebTend — Team Profiles
for Elementor

Professional team member profiles with departments, job roles, vCard export, and Schema.org markup — Gutenberg blocks and Elementor widgets included, zero SaaS dependencies, 100% GPL.

GPL v2 Licensed WordPress 6.0+ PHP 8.0+ Elementor Ready Gutenberg Blocks WooCommerce Optional
01 — Introduction

What is WebTend Team Profiles?

WebTend Team Profiles gives any WordPress site a dedicated, structured way to showcase its people — founders, staff, consultants, or support agents — with proper job titles, departments, social links, and contact details. It is entirely self-hosted: no SaaS subscription, no phone-home telemetry, no external service is contacted by the free, WordPress.org-distributed build.

The plugin ships a custom Team Members post type, two taxonomies (Departments and Job Roles), a one-click vCard (.vcf) export per member, native Gutenberg blocks, Elementor widgets, shortcodes for any builder, and an optional WooCommerce tab that links a product to the team member who handles it.

🗂️
Team Member CPT
Job title, email, phone, ten social network fields, skill tags, drag-to-reorder, and a featured-image profile photo.
Free
🏷️
Departments & Job Roles
Two dedicated taxonomies power archive pages and front-end filter tabs out of the box.
Free
🪪
vCard Export
One-click .vcf download built from name, title, and email/phone — only if you've chosen to make them public.
Free
🔌
Gutenberg + Elementor
Native Team Grid and Single Team Member blocks, plus matching Elementor widgets that load only when Elementor is active.
Free
🔍
Schema.org Markup
Automatic JSON-LD Person/Employee schema on single member pages — steps aside automatically if Rank Math already handles it.
Free
🛒
WooCommerce Integration
Optionally link any product to a team member to show an "account manager" tab on the product page. Auto-detected, fully optional.
Free
wp-admin → Team Manager
Team Members
Add New
Departments
Job Roles
Settings
Getting Started
Team Members v1.0.0
🗂️
Team Member CPT
Full meta & taxonomies
🏷️
Departments & Roles
Two taxonomies
🪪
vCard Export
Per-member .vcf download
02 — Requirements

System Requirements

The plugin enforces its minimum WordPress and PHP versions on activation and shows an admin notice instead of fataling if they aren't met. Elementor and WooCommerce are both fully optional.

ComponentMinimumNotes
WordPress6.0Checked on activation
PHP8.0Uses typed properties & union return types
MySQL / MariaDBWhatever WordPress itself requiresNo advanced SQL features used
ElementorOptional — Free or ProWidgets lazy-loaded only if active
WooCommerceOptional — 7.0+Tested up to 9.0; HPOS & Cart/Checkout blocks declared compatible
🎨
Elementor
Free & Pro — optional
📦
Gutenberg Blocks
WordPress core, no plugin needed
🛒
WooCommerce
Optional product linking
🏗️
Classic & Block Themes
All theme types
🔄
WPML
CPT, taxonomies & meta translatable
🔍
Rank Math
Auto-avoids duplicate schema
03 — Installation

Installation

Method A — WordPress Plugin Directory (Recommended)

1

Search in WordPress Admin

Go to Plugins → Add New and search for WebTend Team Profiles for Elementor or webtend-team-staff-manager.

2

Install & Activate

Click Install Now, then Activate. Activation flushes rewrite rules so team member URLs work immediately.

3

Create Your First Team Member

Navigate to Team Manager → Add New in the admin menu to add your first profile.

Method B — Manual Upload

1

Download & Upload

Download webtend-team-staff-manager.zip from wordpress.org/plugins. Go to Plugins → Add New → Upload Plugin and install the ZIP.

2

Activate

Click Activate Plugin. The Team Manager menu appears in your WordPress admin sidebar.

3

Re-save Permalinks

Go to Settings → Permalinks and click Save Changes to make sure team member URLs resolve correctly.

💡
Template overrides Copy any file from plugins/webtend-team-staff-manager/templates/ into {your-theme}/webtend-team-staff-manager/, keeping the same sub-path, and edit freely. Your theme's copy always takes precedence and survives plugin updates.
04 — Quick Start

Quick Start

After activation you'll find Team Manager in your WordPress admin menu, with a built-in "Getting Started" page that mirrors this flow.

  • Go to Team Manager → Departments and add a few departments (Engineering, Marketing, Sales…)
  • Optionally add some Job Roles too, if you want a second way to group people
  • Go to Team Manager → Add New and create your first member: featured image, job title, bio, social links, and skills
  • Display your team with the [webtend_team] shortcode, the Team Grid block/widget, or anywhere else — see the Shortcodes section
  • Go to Team Manager → Settings to fine-tune layout, visibility, schema markup, and URL slugs
05 — Feature

Team Member Profiles

Each team member is a custom post (wttm_team_member) with its own edit screen, organised into focused meta boxes:

Details

Job title, email address, and phone number. Email and phone are stored either way, but only rendered on the front end if the corresponding Display setting is switched on — see Display & Privacy.

Social

Ten built-in social network fields, filterable via webtend_tm_social_networks:

LinkedIn
X (Twitter)
Facebook
Instagram
YouTube
GitHub
Dribbble
Behance
Website
TikTok

Skills

A simple tag list rendered on the card and single member page — useful for "Skills: WordPress, PHP, Figma" style summaries.

Display order

Members can be manually drag-ordered; this custom order is used as the default sort everywhere (shortcode, blocks, widgets) unless you explicitly choose a different orderby.

Photo & bio

The post's Featured Image is the profile photo, and the standard content editor is the bio — no separate custom fields, so any block or the classic editor works for writing it.

💡
No artificial member limit This build has no cap on the number of team members, departments, or roles you can create — every feature described in this document is included, free, with no upsell.
06 — Feature

Departments & Job Roles

Two independent taxonomies ship with the plugin — Departments (wttm_department) and Job Roles (wttm_role). Assign either, both, or neither to any team member.

Each taxonomy gets its own archive page automatically, and on the main team archive you can turn on front-end filter tabs powered by Department, Job Role, or both — configured under Settings → Archive.

07 — Feature

Display Options & Privacy

Everything about how a card looks — and what personal data it's allowed to reveal — lives under Team Manager → Settings → Display.

wp-admin → Team Manager → Settings → Display
Display Archive Schema & SEO Advanced Tools
Layout
How members are arranged
Grid ▾
Social links
Show icons on cards
Show email address
⚠ Public if enabled
Show phone number
⚠ Public if enabled
vCard download
Let visitors save a contact card
SettingDescriptionDefault
LayoutGrid, List, Carousel, or Masonrygrid
Grid columnsCards per row on desktop (1–6)3
Social linksShow social icons on cardson
Show email addressReveal email publicly on cardsoff
Show phone numberReveal phone publicly on cardsoff
vCard downloadLet visitors save a .vcf contact cardon
Individual profile pagesGive each member their own permalink pageon
⚠️
Email and phone are private by default "Show email address" and "Show phone number" are switched off out of the box. Only turn them on if you've confirmed it's appropriate to publish that team member's contact details — and mention it in your site's privacy policy if you do.
08 — Feature

Gutenberg Blocks & Elementor Widgets

Two ways to place a team display visually, in addition to shortcodes — both read from the exact same settings and member data, so a card looks identical no matter which one you use.

Gutenberg blocks

BlockNameRenders
Team Gridwebtend-tm/team-gridA filterable grid/list of members
Single Team Memberwebtend-tm/team-memberOne specific member's card

Both are server-side rendered (render.php), so they always reflect your live settings and content — there's no separate "save" step that can drift out of sync.

Elementor widgets

WidgetInternal name
Team Gridwebtend_tm_team_grid
Single Team Memberwebtend_tm_team_member

The Elementor integration class is only loaded when Elementor itself is detected as active — if you don't use Elementor, that code never runs, and the Gutenberg blocks plus shortcodes still work normally.

09 — Feature

Schema & SEO

When enabled (the default), the plugin outputs JSON-LD structured data on each single team member page, typed as either Person or Employee — configurable under Settings → Schema & SEO.

If Rank Math is active and already configured to manage schema for the Team Member post type, this plugin's own schema output automatically steps aside to avoid duplicate or conflicting markup on the same page.

🔍
Use Employee if it's accurate Switch the schema type to Employee if your team pages should signal a formal employment relationship to search engines; otherwise Person is the safer general-purpose choice.
10 — Feature

WooCommerce Integration

Entirely optional and auto-detected — nothing in this section runs at all if WooCommerce isn't installed.

From a product's edit screen, set a team member in the product's "Webtend Team" field. The plugin then adds a tab to that product's front-end page (default title "Your Account Manager", filterable via webtend_tm_wc_tab_title) showing that team member's card.

The plugin declares compatibility with WooCommerce's High-Performance Order Storage (HPOS) and Cart & Checkout blocks, so it won't trigger compatibility warnings on modern WooCommerce setups.

11 — Reference

Shortcodes

[webtend_team]
Renders a filterable grid/list/carousel/masonry of team members. Works with any theme or page builder.
layoutgrid | list | carousel | masonry — default from Settings → Display
columns1–6, default from Settings → Display
per_page1–100, default from Settings → Archive
departmentDepartment slug to filter by
roleJob role slug to filter by
filtertrue | false — show front-end filter tabs
filter_bydepartment | role | both
show_socialtrue | false
show_vcardtrue | false
orderbymeta_value_num (custom order) | title | date | rand
orderASC | DESC
idsComma-separated post IDs to include only
exclude_idsComma-separated post IDs to exclude
[webtend_team_member id="123"]
Renders one specific, published team member.
idRequired — the team member's post ID
show_socialtrue | false — default true
show_vcardtrue | false — default true
stylecard | horizontal | minimal — default card
12 — Reference

REST API

All routes live under the webtend-tm/v1 namespace. Public routes never expose email or phone unless the site owner has switched on "Show email address" / "Show phone number" in Settings → Display.

MethodRouteAccess
GET/team-membersPublic — list, respects visibility settings
GET/team-members/{id}Public — single member, respects visibility settings
GET/team-members/{id}/vcardPublic if visible, otherwise logged-in admin only
GET/departmentsPublic — taxonomy terms only, no personal data
GET/rolesPublic — taxonomy terms only, no personal data
GET / POST/settingsmanage_options capability required

List endpoint query parameters

ParamTypeNotes
per_pageinteger1–100, default 12
pageintegerdefault 1
taxonomystringwttm_department or wttm_role
term_idintegerTerm ID to filter by
searchstringKeyword search
13 — Reference

All Settings

Every option, grouped by the settings tab it lives under (Team Manager → Settings).

Display

default_layoutgrid
columns3
show_social_linkson
show_emailoff
show_phoneoff
show_vcard_downloadon
enable_single_pageon
enable_schemaon
schema_typePerson

Archive

archive_title"Our Team"
members_per_page12
enable_filteron
filter_bydepartment

Advanced

enable_csson
enable_lazy_loadon
slug_team_memberteam
slug_departmentteam-department
slug_roleteam-role
delete_data_on_uninstalloff

Tools

The Tools tab doesn't store settings itself — it lets you export your current settings as JSON, import a previously exported JSON file, or reset everything to factory defaults (team member content is never touched by a reset).

14 — Reference

Hooks & Filters

For developers and agencies who need to customise behaviour without editing core plugin files.

HookTypePurpose
webtend_tm_initactionFires once the plugin has fully booted
webtend_tm_cpt_argsfilterModify the Team Member post type registration args
webtend_tm_department_tax_args / webtend_tm_role_tax_argsfilterModify taxonomy registration args
webtend_tm_social_networksfilterAdd, remove, or relabel social network fields
webtend_tm_default_settingsfilterChange default settings values
webtend_tm_sanitize_settingsfilterRun after settings are sanitised, before saving
webtend_tm_shortcode_query_args / webtend_tm_rest_list_query_argsfilterAdjust the WP_Query args used to list members
webtend_tm_rest_member_data / webtend_tm_ajax_member_datafilterModify a member's data array before it's returned
webtend_tm_vcard_linesfilterAdd or modify lines in the generated .vcf file
webtend_tm_schema_datafilterModify the JSON-LD schema array before output
webtend_tm_wc_tab_titlefilterRename the WooCommerce product tab title
webtend_tm_meta_savedactionFires after a team member's meta is saved
Example — rename the WooCommerce tab
add_filter( 'webtend_tm_wc_tab_title', function() {
    return __( 'Your Support Contact', 'my-theme' );
} );
15 — Privacy

Privacy

Team member email and phone number are stored as regular post meta on your own database — never sent anywhere — and are hidden from the public front end by default. They only appear on cards, in the REST API, or in a downloaded vCard if you've explicitly switched on "Show email address" / "Show phone number".

⚠️
Add it to your Privacy Policy if you enable it If you turn on public email/phone display for any team member, mention in your site's Privacy Policy that this contact information is published on the team page and stored in your WordPress database.
🔒
No external services This build does not register any WordPress Personal Data Export/Erase handlers, and it does not contact any third-party or remote service — there is simply nothing to disclose beyond what's described above. To remove a team member's data entirely, delete the post from Team Manager → Team Members as you would any other content.
🗑️
Uninstall behaviour Deleting the plugin only erases all team members, taxonomy terms, and settings if you've explicitly opted in via Settings → Advanced → "Delete data on uninstall". Otherwise, deactivating or deleting the plugin leaves all of your content untouched.
16 — FAQ

Frequently Asked Questions

Does this work without Elementor?
Yes, completely. Elementor is entirely optional — the plugin provides Gutenberg blocks and shortcodes that work with any page builder or the classic editor. The Elementor integration class is only loaded when Elementor is detected as active.
Does this work without WooCommerce?
Yes. WooCommerce integration is entirely optional and auto-detected — the relevant code path only runs if WooCommerce is installed and active. Every other feature works identically with or without it.
Can I customise the card and archive templates?
Yes. Copy any file from plugins/webtend-team-staff-manager/templates/ into {your-theme}/webtend-team-staff-manager/, keeping the same relative path. Your theme's copy is always used instead of the plugin's, and survives plugin updates.
How do I change the /team/ URL slug?
Go to Team Manager → Settings → Advanced and update the "Team member URL slug" field (and Department / Job Role slugs if needed). After saving, go to Settings → Permalinks and click Save Changes to flush WordPress's rewrite rules.
Is there a limit on how many team members I can add?
No. This build has no member cap, no Pro tier, and no upsell — every feature documented here is fully included for free.
Is the plugin translation ready?
Yes. All user-facing strings use the webtend-team-staff-manager text domain, and the Team Member post type, Departments, and Job Roles taxonomies are registered as translatable with WPML, including custom field translation.
What happens to data when the plugin is uninstalled?
By default, nothing is deleted — deactivating or removing the plugin keeps every team member, department, role, and setting intact. Data is only permanently erased on uninstall if you've turned on "Delete data on uninstall" under Settings → Advanced beforehand.
How do I get support?
Free support is available on the WordPress.org support forum. Please include your WordPress version, PHP version, active theme, and a clear description of the issue.
17 — Changelog

Changelog

v1.0.0
June 2026
Initial Release
Initial release — WebTend Team Profiles for Elementor
Team Member CPT — job title, email, phone, ten social network fields, skill tags, drag-to-reorder
Departments & Job Roles — two taxonomies with their own archives and front-end filter tabs
vCard export — one-click .vcf download, honours email/phone visibility settings
Gutenberg blocks — Team Grid and Single Team Member, server-side rendered
Elementor widgets — Team Grid and Single Team Member (lazy-loaded)
Shortcodes[webtend_team] and [webtend_team_member] with full attribute support
REST API — public read endpoints plus an admin-only settings endpoint under webtend-tm/v1
Schema markup — automatic JSON-LD Person/Employee schema, Rank Math aware
WooCommerce integration — optional product-to-team-member linking with an account-manager tab (HPOS & Cart/Checkout blocks compatible)
WPML compatibility — translatable post type, taxonomies, and custom fields
Settings Tools tab — export, import, and reset settings as JSON
Translation ready — text domain webtend-team-staff-manager
GPL v2 licensed — no SaaS dependencies, no phone-home, fully open source