{"id":10490,"date":"2026-05-15T10:30:21","date_gmt":"2026-05-15T02:30:21","guid":{"rendered":"https:\/\/aeosub.com\/maya-team-directory\/"},"modified":"2026-05-15T10:30:21","modified_gmt":"2026-05-15T02:30:21","slug":"maya-team-directory","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/maya-team-directory\/","title":{"rendered":"Maya Team Directory"},"content":{"rendered":"<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 15px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\"><img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/maya-team-directory.svg\" style=\"width: 40px;height: 40px;border-radius: 6px;margin-right: 12px;vertical-align: middle\"> Developer<\/th>\n<td style=\"padding: 15px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/ayalip\/\" target=\"_blank\" rel=\"noopener\">ayalip<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.0.2<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">0 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">5.8 \/ 6.9.4<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-05-15 2:29am GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/maya-team-directory\/\" target=\"_blank\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\" rel=\"noopener\">View Details \u2192<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">A focused team \/ staff directory with a custom post type, group taxonomy, a responsive grid layout, and a single-member template.<\/div>\n<p>Maya Team Directory lets you create and display a clean, fast team directory on your WordPress site. Add team members with profile photos, positions, departments, contact details, and bios, then display them with a simple <code>[maya_team]<\/code> shortcode.<\/p>\n<p>The free plugin is intentionally lean and focused. It ships with everything you need to publish a working team page: the custom post type, group taxonomy, a responsive grid layout, search, group filtering, pagination, and a single-member template.<\/p>\n<p>This plugin makes no remote calls, has no license key, no in-plugin upsell prompts, and never asks for your credit card to unlock built-in features.<\/p>\n<p>Optional companion add-ons (CSV import\/export, REST API endpoints, extra layouts, sidebar widget, custom CSS, accent color picker, social-network fields and icons \u2014 LinkedIn, X, Facebook, Instagram, GitHub, YouTube \u2014 featured-member highlighting, per-group layout overrides, and more) are available separately at https:\/\/mayanaikotech.com\/maya-team-directory\/. They install as their own plugin and are 100% optional \u2014 this plugin works fully without them.<\/p>\n<h4>What&#8217;s Included (Free)<\/h4>\n<ul>\n<li>Custom post type for team members<\/li>\n<li>Group taxonomy for organizing members<\/li>\n<li>Custom fields: Position, Department, Email, Phone, Website<\/li>\n<li>Responsive grid layout<\/li>\n<li>Search bar and group filter<\/li>\n<li>Pagination<\/li>\n<li>Single-member profile template<\/li>\n<li>Mobile responsive<\/li>\n<li>Admin photo thumbnails and sortable columns<\/li>\n<li>Translation-ready (.pot file included)<\/li>\n<li>A documented hook &amp; filter API for add-ons (see below)<\/li>\n<\/ul>\n<h4>Shortcode Usage<\/h4>\n<p>Display all team members:<br \/>\n    [maya_team]<\/p>\n<p>Filter by group:<br \/>\n    [maya_team group=&#8221;management&#8221;]<\/p>\n<p>Show multiple groups:<br \/>\n    [maya_team groups=&#8221;management,board&#8221;]<\/p>\n<p>Hide members in a specific group:<br \/>\n    [maya_team exclude_groups=&#8221;alumni&#8221;]<\/p>\n<p>Custom pagination and ordering:<br \/>\n    [maya_team per_page=&#8221;8&#8243; orderby=&#8221;title&#8221; order=&#8221;ASC&#8221;]<\/p>\n<p>Hide controls:<br \/>\n    [maya_team search=&#8221;false&#8221; filter=&#8221;false&#8221;]<\/p>\n<p>Force grid column count (1\u20136):<br \/>\n    [maya_team columns=&#8221;4&#8243;]<\/p>\n<h4>Template Overrides<\/h4>\n<p>Copy templates from <code>maya-team-directory\/templates\/<\/code> to your theme:<\/p>\n<ul>\n<li><code>your-theme\/maya-team-directory\/single-maya_member.php<\/code><\/li>\n<li><code>your-theme\/maya-team-directory\/archive-maya_member.php<\/code><\/li>\n<li><code>your-theme\/maya-team-directory\/taxonomy-maya_group.php<\/code><\/li>\n<\/ul>\n<h4>Hooks &amp; Filters<\/h4>\n<p>These hooks form the public API that companion add-ons (and any third-party plugin) can use to extend the free plugin without modifying its files.<\/p>\n<p>Filters:<\/p>\n<ul>\n<li><code>maya_td_query_args<\/code> \u2014 Modify the main member query (receives <code>$query_args<\/code>, <code>$atts<\/code>).<\/li>\n<li><code>maya_td_card_data<\/code> \u2014 Modify card template data before rendering (receives <code>$data<\/code>, <code>$post_id<\/code>).<\/li>\n<li><code>maya_td_card_renderer<\/code> \u2014 Return a callable to take over rendering for a non-grid layout (receives <code>null<\/code>, <code>$layout<\/code>, <code>$data<\/code>, <code>$post_id<\/code>).<\/li>\n<li><code>maya_td_card_social_keys<\/code> \u2014 Add extra social networks to read for each card (receives <code>network-slug =&gt; meta-key<\/code> map).<\/li>\n<li><code>maya_td_meta_fields<\/code> \u2014 Add extra fields to the Member Details meta box.<\/li>\n<li><code>maya_td_social_fields<\/code> \u2014 Add extra fields to the Social Links meta box.<\/li>\n<li><code>maya_td_social_icons<\/code> \u2014 Provide SVG icon markup for additional social networks.<\/li>\n<li><code>maya_td_member_meta_keys<\/code> \u2014 Extend the list of meta keys cleaned up on uninstall.<\/li>\n<li><code>maya_td_available_layouts<\/code> \u2014 Register additional layouts (list, compact, masonry, etc.) so they appear in the layout toggle and validate as shortcode <code>layout=\"\"<\/code> values.<\/li>\n<li><code>maya_td_layout_icon<\/code> \u2014 Provide the SVG icon for a registered layout&#8217;s toggle button.<\/li>\n<li><code>maya_td_single_member_template<\/code> \u2014 Override the path of the single-member template file.<\/li>\n<li><code>maya_td_sanitize_settings<\/code> \u2014 Sanitize and persist add-on-registered settings fields.<\/li>\n<li><code>maya_td_resource_links<\/code> \u2014 Add, remove, or reorder links in the Settings page Resources sidebar.<\/li>\n<\/ul>\n<p>Actions:<\/p>\n<ul>\n<li><code>maya_td_init<\/code> \u2014 Fires after the free plugin&#8217;s core classes are instantiated. Add-ons should bootstrap from here.<\/li>\n<li><code>maya_td_register_admin_menu<\/code> \u2014 Fires after the Settings submenu is registered, so add-ons can add their own submenus under the Maya Team Directory menu.<\/li>\n<li><code>maya_td_settings_sections<\/code> \u2014 Render extra <code>&lt;div class=\"maya-settings-section\"&gt;<\/code> blocks inside the settings form.<\/li>\n<li><code>maya_td_settings_sidebar<\/code> \u2014 Render extra panels in the settings sidebar.<\/li>\n<li><code>maya_td_before_directory<\/code> \u2014 Fires before the directory wrapper opens (receives <code>$atts<\/code>, <code>$members<\/code> WP_Query).<\/li>\n<li><code>maya_td_after_directory<\/code> \u2014 Fires after the directory wrapper closes (receives <code>$atts<\/code>, <code>$members<\/code> WP_Query).<\/li>\n<li><code>maya_td_after_card_content<\/code> \u2014 Add content inside each card, after the bio (receives <code>$data<\/code>, <code>$post_id<\/code>).<\/li>\n<li><code>maya_td_after_member_details_fields<\/code> \u2014 Add inputs inside the Member Details meta box.<\/li>\n<li><code>maya_td_after_social_fields<\/code> \u2014 Add inputs inside the Social Links meta box.<\/li>\n<li><code>maya_td_display_options_fields<\/code> \u2014 Add inputs inside the Display Options side meta box.<\/li>\n<li><code>maya_td_save_member_meta<\/code> \u2014 Persist add-on-owned member meta keys when a member post is saved.<\/li>\n<\/ul>\n<h4>External Services<\/h4>\n<p>This plugin does not connect to any external services. All processing happens locally on your WordPress site. No data is sent to any third-party server.<\/p>\n<h3>Support<\/h3>\n<p>For support, please email ayalip@mayanaikotech.com or visit https:\/\/mayanaikotech.com\/maya-team-directory.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A focused team \/ staff directory with a custom post type, group taxonomy, a responsive grid layout, and a single-member template.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[600,674,675,676,677,555],"class_list":["post-10490","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-directory","tag-members","tag-profile","tag-staff","tag-team","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10490","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=10490"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/10490\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=10490"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=10490"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=10490"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}