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.
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.
| Component | Minimum | Notes |
|---|---|---|
| WordPress | 6.0 | Checked on activation |
| PHP | 8.0 | Uses typed properties & union return types |
| MySQL / MariaDB | Whatever WordPress itself requires | No advanced SQL features used |
| Elementor | Optional — Free or Pro | Widgets lazy-loaded only if active |
| WooCommerce | Optional — 7.0+ | Tested up to 9.0; HPOS & Cart/Checkout blocks declared compatible |
Installation
Method A — WordPress Plugin Directory (Recommended)
Search in WordPress Admin
Go to Plugins → Add New and search for WebTend Team Profiles for Elementor or webtend-team-staff-manager.
Install & Activate
Click Install Now, then Activate. Activation flushes rewrite rules so team member URLs work immediately.
Create Your First Team Member
Navigate to Team Manager → Add New in the admin menu to add your first profile.
Method B — Manual Upload
Download & Upload
Download webtend-team-staff-manager.zip from wordpress.org/plugins. Go to Plugins → Add New → Upload Plugin and install the ZIP.
Activate
Click Activate Plugin. The Team Manager menu appears in your WordPress admin sidebar.
Re-save Permalinks
Go to Settings → Permalinks and click Save Changes to make sure team member URLs resolve correctly.
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.
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
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:
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.
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.
Display Options & Privacy
Everything about how a card looks — and what personal data it's allowed to reveal — lives under Team Manager → Settings → Display.
| Setting | Description | Default |
|---|---|---|
| Layout | Grid, List, Carousel, or Masonry | grid |
| Grid columns | Cards per row on desktop (1–6) | 3 |
| Social links | Show social icons on cards | on |
| Show email address | Reveal email publicly on cards | off |
| Show phone number | Reveal phone publicly on cards | off |
| vCard download | Let visitors save a .vcf contact card | on |
| Individual profile pages | Give each member their own permalink page | on |
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
| Block | Name | Renders |
|---|---|---|
| Team Grid | webtend-tm/team-grid | A filterable grid/list of members |
| Single Team Member | webtend-tm/team-member | One 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
| Widget | Internal name |
|---|---|
| Team Grid | webtend_tm_team_grid |
| Single Team Member | webtend_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.
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.
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.
Shortcodes
[webtend_team]
[webtend_team_member id="123"]
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.
| Method | Route | Access |
|---|---|---|
| GET | /team-members | Public — list, respects visibility settings |
| GET | /team-members/{id} | Public — single member, respects visibility settings |
| GET | /team-members/{id}/vcard | Public if visible, otherwise logged-in admin only |
| GET | /departments | Public — taxonomy terms only, no personal data |
| GET | /roles | Public — taxonomy terms only, no personal data |
| GET / POST | /settings | manage_options capability required |
List endpoint query parameters
| Param | Type | Notes |
|---|---|---|
| per_page | integer | 1–100, default 12 |
| page | integer | default 1 |
| taxonomy | string | wttm_department or wttm_role |
| term_id | integer | Term ID to filter by |
| search | string | Keyword search |
All Settings
Every option, grouped by the settings tab it lives under (Team Manager → Settings).
Display
| default_layout | grid |
| columns | 3 |
| show_social_links | on |
| show_email | off |
| show_phone | off |
| show_vcard_download | on |
| enable_single_page | on |
| enable_schema | on |
| schema_type | Person |
Archive
| archive_title | "Our Team" |
| members_per_page | 12 |
| enable_filter | on |
| filter_by | department |
Advanced
| enable_css | on |
| enable_lazy_load | on |
| slug_team_member | team |
| slug_department | team-department |
| slug_role | team-role |
| delete_data_on_uninstall | off |
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).
Hooks & Filters
For developers and agencies who need to customise behaviour without editing core plugin files.
| Hook | Type | Purpose |
|---|---|---|
| webtend_tm_init | action | Fires once the plugin has fully booted |
| webtend_tm_cpt_args | filter | Modify the Team Member post type registration args |
| webtend_tm_department_tax_args / webtend_tm_role_tax_args | filter | Modify taxonomy registration args |
| webtend_tm_social_networks | filter | Add, remove, or relabel social network fields |
| webtend_tm_default_settings | filter | Change default settings values |
| webtend_tm_sanitize_settings | filter | Run after settings are sanitised, before saving |
| webtend_tm_shortcode_query_args / webtend_tm_rest_list_query_args | filter | Adjust the WP_Query args used to list members |
| webtend_tm_rest_member_data / webtend_tm_ajax_member_data | filter | Modify a member's data array before it's returned |
| webtend_tm_vcard_lines | filter | Add or modify lines in the generated .vcf file |
| webtend_tm_schema_data | filter | Modify the JSON-LD schema array before output |
| webtend_tm_wc_tab_title | filter | Rename the WooCommerce product tab title |
| webtend_tm_meta_saved | action | Fires after a team member's meta is saved |
add_filter( 'webtend_tm_wc_tab_title', function() { return __( 'Your Support Contact', 'my-theme' ); } );
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".
Frequently Asked Questions
Does this work without Elementor?
Does this work without WooCommerce?
Can I customise the card and archive templates?
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?
Is there a limit on how many team members I can add?
Is the plugin translation ready?
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?
How do I get support?
Changelog
[webtend_team] and [webtend_team_member] with full attribute supportwebtend-tm/v1webtend-team-staff-manager