{"id":330215,"date":"2026-06-25T06:00:19","date_gmt":"2026-06-25T06:00:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webtend-team-staff-manager\/"},"modified":"2026-07-22T08:46:51","modified_gmt":"2026-07-22T08:46:51","slug":"webtend-team-staff-manager","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/webtend-team-staff-manager\/","author":15779958,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.0.2","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"Team Members & Staff Profiles \u2014 Our Team","header_author":"WebTend","header_description":"Showcase your team with Elementor widgets, Gutenberg blocks, Schema.org markup, vCard export, departments, and roles.","assets_banners_color":"f9fafb","last_updated":"2026-07-22 08:46:51","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/webtend.net\/","header_author_uri":"https:\/\/profiles.wordpress.org\/devhasib\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":158,"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":"devhasib","date":"2026-06-25 09:15:59"},"1.0.1":{"tag":"1.0.1","author":"devhasib","date":"2026-07-11 09:59:24"},"1.1.0":{"tag":"1.1.0","author":"devhasib","date":"2026-07-22 08:46:51"}},"upgrade_notice":{"1.1.0":"<p>Fixes modal social icons, adds copy-email button, skeleton loader, and screen reader announcements.\nAdds four card style presets and a fully accessible profile modal. Removes jQuery frontend dependency.<\/p>","1.0.1":"<p>Fixes missing CSS file and adds full Elementor Style tab controls.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3585786,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3585670,"resolution":"1544x500","location":"assets","locale":"","width":1545,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3585670,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":{"webtend-tm\/team-member":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"webtend-tm\/team-member","version":"1.0.0","title":"Single Team Member","category":"webtend","icon":"admin-users","description":"Embed a single team member card anywhere \u2014 great for author bios or 'meet your consultant' sections.","keywords":["team","staff","profile","webtend"],"textdomain":"webtend-team-staff-manager","attributes":{"memberId":{"type":"number","default":0},"cardStyle":{"type":"string","default":"card"},"showSocial":{"type":"boolean","default":true},"showVcard":{"type":"boolean","default":true}},"supports":{"html":false,"align":["wide","full"]},"editorScript":"file:.\/index.js","render":"file:.\/render.php"},"webtend-tm\/team-grid":{"$schema":"https:\/\/schemas.wp.org\/trunk\/block.json","apiVersion":3,"name":"webtend-tm\/team-grid","version":"1.0.0","title":"Team Grid","category":"webtend","icon":"groups","description":"Display a filterable grid of your team members with photos, job titles, and social links.","keywords":["team","staff","employee","webtend"],"textdomain":"webtend-team-staff-manager","attributes":{"layout":{"type":"string","default":"grid"},"columns":{"type":"number","default":3},"perPage":{"type":"number","default":12},"department":{"type":"string","default":""},"role":{"type":"string","default":""},"showFilter":{"type":"boolean","default":true},"filterBy":{"type":"string","default":"department"},"showSocial":{"type":"boolean","default":true},"showVcard":{"type":"boolean","default":true},"orderBy":{"type":"string","default":"meta_value_num"},"order":{"type":"string","default":"ASC"},"cardStyle":{"type":"string","default":"card"}},"supports":{"html":false,"align":["wide","full"],"spacing":{"margin":true,"padding":true}},"editorScript":"file:.\/index.js","render":"file:.\/render.php"}},"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3585670,"resolution":"1","location":"assets","locale":"","width":1280,"height":720},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3585670,"resolution":"2","location":"assets","locale":"","width":1280,"height":720},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3585926,"resolution":"3","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"Display settings \u2014 layout, visibility, and privacy controls with a live preview","2":"The front-end team grid with filters, social links, and vCard download","3":"Adding a team member \u2014 job title, social profiles, skills, photo, and departments"}},"plugin_section":[262246],"plugin_tags":[11760,8427,208634,8428,12951],"plugin_category":[],"plugin_contributors":[259418],"plugin_business_model":[],"class_list":["post-330215","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-employee-directory","plugin_tags-our-team","plugin_tags-staff-profiles","plugin_tags-team-members","plugin_tags-team-page","plugin_contributors-devhasib","plugin_committers-devhasib"],"banners":{"banner":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/banner-772x250.png?rev=3585670","banner_2x":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/banner-1544x500.png?rev=3585670","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/icon-256x256.png?rev=3585786","icon_2x":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/icon-256x256.png?rev=3585786","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/screenshot-1.png?rev=3585670","caption":"Display settings \u2014 layout, visibility, and privacy controls with a live preview"},{"src":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/screenshot-2.png?rev=3585670","caption":"The front-end team grid with filters, social links, and vCard download"},{"src":"https:\/\/ps.w.org\/webtend-team-staff-manager\/assets\/screenshot-3.png?rev=3585926","caption":"Adding a team member \u2014 job title, social profiles, skills, photo, and departments"}],"raw_content":"<!--section=description-->\n<p><strong>Team Members &amp; Staff Profiles \u2014 Our Team<\/strong> lets agencies, law firms, clinics, and corporate sites showcase their team professionally \u2014 without writing a single line of code. Whether you need a simple staff directory or a fully branded team page with department filters, profile modals, and Schema.org Person markup, this plugin handles it out of the box.\n\ud83d\udcd6 <strong><a href=\"https:\/\/webtend.net\/docs\/webtend-team-profiles-doc.html\">Full Documentation<\/a><\/strong><\/p>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>Custom Post Type for Team Members with photo, job title, bio, email, phone<\/li>\n<li>Department and Job Role taxonomies with custom icons and colours<\/li>\n<li>Multiple display layouts: Grid, List, Carousel, Masonry<\/li>\n<li>Gutenberg blocks: Team Grid and Single Team Member<\/li>\n<li>Native Elementor widgets with full style controls<\/li>\n<li>Schema.org Person\/Employee JSON-LD markup for SEO<\/li>\n<li>vCard (.vcf) download \u2014 visitors save a contact card in one click<\/li>\n<li>AJAX-powered department\/role filtering with no page reload<\/li>\n<li>REST API (webtend-tm\/v1) for headless and custom integrations<\/li>\n<li>WooCommerce \"Handled By\" product tab \u2014 link a product to its account manager<\/li>\n<li>Import\/Export settings, one-click reset<\/li>\n<li>Translation-ready (POT file included), RTL support<\/li>\n<li>HPOS-compatible, multisite-compatible<\/li>\n<li>Built with PSR-4 OOP architecture, fully namespaced, PHPCS-compliant<\/li>\n<\/ul>\n\n<h4>Four Card Style Presets<\/h4>\n\n<p>Choose from <strong>Classic Card<\/strong>, <strong>Overlay<\/strong> (hover reveal), <strong>Horizontal<\/strong>, and <strong>Minimal<\/strong> \u2014 all configurable from Settings \u2192 Display without touching any code.<\/p>\n\n<h4>Accessible Profile Modal<\/h4>\n\n<p>Enable a full-profile lightbox popup on card click. The modal is fully accessible \u2014 focus trap, ESC to close, ARIA roles, keyboard navigation, and in-memory caching for instant second opens.<\/p>\n\n<h4>Privacy &amp; Public Data<\/h4>\n\n<p>Email and phone fields are <strong>hidden from public display and the REST API by default<\/strong>. They are only exposed publicly when the site administrator explicitly enables them in <strong>Settings \u2192 Display<\/strong>. The vCard download endpoint honours the same setting.<\/p>\n\n<h4>Compatibility<\/h4>\n\n<p>Tested alongside Astra, Kadence, GeneratePress, OceanWP, Blocksy, Hello Elementor, Storefront, and Flatsome themes; Elementor, Elementor Pro, Gutenberg, Spectra, Kadence Blocks, and GenerateBlocks; WooCommerce (including HPOS); Rank Math, Yoast SEO, and AIOSEO; WP Rocket, LiteSpeed Cache, and Perfmatters; WPML, Polylang, and TranslatePress; Wordfence.<\/p>\n\n<h3>External services<\/h3>\n\n<p>This plugin does not connect to, send data to, or receive data from any external service.<\/p>\n\n<p>All functionality \u2014 including team listings, Schema.org markup, the REST API, and vCard generation \u2014 runs entirely on the user's own installation. No analytics, telemetry, license checks, update pings, or remote API calls are made by this build.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>webtend-team-staff-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via Plugins \u2192 Add New \u2192 Upload Plugin.<\/li>\n<li>Activate the plugin through the Plugins menu.<\/li>\n<li>You will be redirected to the Getting Started page \u2014 follow the 4 steps to add your first team member.<\/li>\n<li>Use the <code>[webtend_team]<\/code> shortcode, the \"Team Grid\" Gutenberg block, or the Elementor widget to display your team anywhere.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20my%20theme%3F\"><h3>Does this work with my theme?<\/h3><\/dt>\n<dd><p>Yes. The plugin ships with its own lightweight, theme-agnostic templates and CSS that adapt to any standards-compliant theme, including all major business themes (Astra, Kadence, GeneratePress, OceanWP, Blocksy).<\/p><\/dd>\n<dt id=\"can%20i%20override%20the%20templates%3F\"><h3>Can I override the templates?<\/h3><\/dt>\n<dd><p>Yes. Copy any file from <code>\/templates\/<\/code> into <code>your-theme\/webtend-team-staff-manager\/<\/code> keeping the same relative path, and the plugin will use your version automatically.<\/p><\/dd>\n<dt id=\"does%20it%20slow%20down%20my%20site%3F\"><h3>Does it slow down my site?<\/h3><\/dt>\n<dd><p>No. All CSS\/JS is loaded conditionally \u2014 only on pages that actually display team members. No assets are loaded site-wide.<\/p><\/dd>\n<dt id=\"is%20it%20gdpr%20compliant%3F\"><h3>Is it GDPR compliant?<\/h3><\/dt>\n<dd><p>Yes. Email and phone number are hidden from public display and the public REST API by default. The site administrator explicitly opts in to publishing them via Settings \u2192 Display.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20call%20any%20external%20services%3F\"><h3>Does the plugin call any external services?<\/h3><\/dt>\n<dd><p>No. All functionality runs entirely on your own installation. No analytics, telemetry, license checks, or remote API calls are made.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Fix: Modal social icons now render as proper SVGs instead of plain text network names.<\/li>\n<li>Fix: aria-busy=\"true\" set on modal dialog while REST API data is loading; removed when content is ready.<\/li>\n<li>New: In-memory member data cache \u2014 opening the same profile modal a second time is instant with no repeat API call.<\/li>\n<li>New: Copy email to clipboard button inside the profile modal \u2014 one-click copy with a checkmark confirmation.<\/li>\n<li>New: Skeleton shimmer loading animation on the team grid during filter\/pagination fetch.<\/li>\n<li>New: aria-live=\"polite\" region announces member count to screen readers after each filter change.<\/li>\n<li>Fix: Removed inline style attribute from admin settings page live preview panel.<\/li>\n<li>Improvement: Modal loader div now has role=\"status\" for better screen reader compatibility.<\/li>\n<li>New: Four card style presets \u2014 Classic Card, Overlay, Horizontal, and Minimal.<\/li>\n<li>New: Profile Modal \/ Lightbox \u2014 enable a full-profile popup on card click.<\/li>\n<li>New: Modal is fully accessible \u2014 focus trap, ESC to close, ARIA roles, keyboard navigation.<\/li>\n<li>New: Modal pulls rich profile data from the REST API.<\/li>\n<li>Improvement: Replaced jQuery AJAX with native fetch() \u2014 removes jQuery dependency.<\/li>\n<li>Improvement: Card style preserved on AJAX filter\/load-more requests.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fix: Added missing elementor-editor.css file.<\/li>\n<li>Fix: Team Grid Elementor widget empty-state in the editor.<\/li>\n<li>Fix: Added get_script_depends() and get_style_depends() to both Elementor widgets.<\/li>\n<li>Improvement: Elementor Team Grid Style tab now includes controls for Job Title, Bio, Filter Tabs, Social Icons, and vCard button.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Display team member profiles with departments, job roles, vCard, Schema.org &amp; Elementor widgets. No code required.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/330215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=330215"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/devhasib"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=330215"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=330215"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=330215"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=330215"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=330215"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=330215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}