{"id":54535,"date":"2017-02-22T00:12:33","date_gmt":"2017-02-22T00:12:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/match-me-for-buddypress\/"},"modified":"2026-03-05T01:57:53","modified_gmt":"2026-03-05T01:57:53","slug":"match-me-for-buddypress","status":"publish","type":"plugin","link":"https:\/\/roh.wordpress.org\/plugins\/match-me-for-buddypress\/","author":8693134,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"2.0.0","stable_tag":"2.0.0","tested":"6.9.4","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Match Me for BuddyPress & BuddyBoss","header_author":"MeshPros","header_description":"","assets_banners_color":"acccbe","last_updated":"2026-03-05 01:57:53","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/meshpros.com\/","header_author_uri":"https:\/\/meshpros.com\/","rating":4.6,"author_block_rating":0,"active_installs":200,"downloads":18405,"num_ratings":12,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.0.0":{"tag":"2.0.0","author":"XpertOne","date":"2026-03-05 01:57:53"}},"upgrade_notice":{"2.0.0":"<p>Major rewrite. Field weights from v1.3 are automatically migrated. Old plugin files are no longer needed.<\/p>"},"ratings":{"1":0,"2":1,"3":0,"4":2,"5":9},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3475050,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3475050,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3475050,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3475050,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin settings with field configuration table","2":"Circle progress display on member profile","3":"Badge display style","4":"Members directory with lazy loading match percentages","5":"Cache management and system info","6":"Field comparison mode settings with weight bar"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[13955,204,3005,132274,257138],"plugin_category":[44],"plugin_contributors":[83911],"plugin_business_model":[],"class_list":["post-54535","plugin","type-plugin","status-publish","hentry","plugin_tags-buddyboss","plugin_tags-buddypress","plugin_tags-compatibility","plugin_tags-matchmaking","plugin_tags-member-matching","plugin_category-discussion-and-community","plugin_contributors-xpertone","plugin_committers-xpertone"],"banners":{"banner":"https:\/\/ps.w.org\/match-me-for-buddypress\/assets\/banner-772x250.jpg?rev=3475050","banner_2x":"https:\/\/ps.w.org\/match-me-for-buddypress\/assets\/banner-1544x500.jpg?rev=3475050","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/match-me-for-buddypress\/assets\/icon-128x128.png?rev=3475050","icon_2x":"https:\/\/ps.w.org\/match-me-for-buddypress\/assets\/icon-256x256.png?rev=3475050","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Match Me for BuddyPress &amp; BuddyBoss<\/strong> is a compatibility matching plugin that calculates how well members align based on their profile fields. Whether you are building a dating site, a networking community, a roommate finder, a mentor matching platform, or any community where connecting the right people matters, Match Me gives every member pair a compatibility percentage they can see on profiles and the members directory.<\/p>\n\n<p>You choose which xProfile fields to include, how much each one matters, and how values should be compared. The plugin handles the rest: scoring, caching, and displaying results automatically across your site.<\/p>\n\n<p><strong>Works with BuddyPress and BuddyBoss Platform.<\/strong> The plugin auto detects which one is active. No configuration needed.<\/p>\n\n<h4>\ud83d\udd27 How It Works<\/h4>\n\n<ol>\n<li>Pick which profile fields to use for matching in the admin panel<\/li>\n<li>Assign a weight to each field so important fields count more<\/li>\n<li>Choose a comparison mode for each field (exact, overlap, range, or partial)<\/li>\n<li>Members browse the site and see compatibility percentages on every profile and in the members directory<\/li>\n<\/ol>\n\n<h4>\u2699\ufe0f Matching Engine<\/h4>\n\n<ul>\n<li><strong>Weighted scoring<\/strong> Assign a percentage weight to each xProfile field. Fields that matter more contribute more toward the final compatibility score.<\/li>\n<li><strong>4 comparison modes<\/strong> Exact match for dropdowns and radio buttons, overlap (Jaccard similarity) for checkboxes and multi select fields, range for numeric values, and partial for free text similarity.<\/li>\n<li><strong>Hard exclusions<\/strong> Mark any field as must match. If two members do not match on a hard exclude field, their compatibility drops to 0% instantly. Useful for language, location, or any critical criteria.<\/li>\n<li><strong>Deal breakers<\/strong> A softer penalty that reduces the score when an important field does not match, without zeroing it completely.<\/li>\n<li><strong>Confidence indicator<\/strong> Shows what percentage of weighted fields both members actually filled out. A 92% match with low confidence means only a few fields were compared. Helps members understand how reliable a score is.<\/li>\n<\/ul>\n\n<h4>\u26a1 Performance<\/h4>\n\n<ul>\n<li><strong>SQL first architecture<\/strong> All scoring runs through optimized database queries, not slow PHP loops. A single query handles an entire directory page with hundreds of members.<\/li>\n<li><strong>Database caching<\/strong> A dedicated cache table stores computed scores with configurable expiration. Scores are automatically cleared when a member updates their profile.<\/li>\n<li><strong>Lazy loading directory<\/strong> Match percentages load on demand as members scroll into view using IntersectionObserver. The page loads instantly without waiting for match calculations.<\/li>\n<li><strong>Batch recalculation<\/strong> WP Cron powered background processing recalculates scores in bulk for large communities.<\/li>\n<\/ul>\n\n<h4>\ud83c\udfa8 Display<\/h4>\n\n<ul>\n<li><strong>Circle and badge styles<\/strong> Choose between an SVG circle progress indicator or a compact pill badge. Both are mobile responsive and lightweight.<\/li>\n<li><strong>Color thresholds<\/strong> Configure which colors represent high, medium, and low compatibility so members can read scores at a glance.<\/li>\n<li><strong>Shortcode support<\/strong> Use <code>[matchme]<\/code> to display a match score anywhere on your site. The legacy <code>[mp_match_percentage]<\/code> shortcode still works for backward compatibility.<\/li>\n<\/ul>\n\n<h4>\ud83d\udd0c Developer Friendly<\/h4>\n\n<ul>\n<li><strong>REST API<\/strong> <code>GET \/matchme\/v1\/match\/{user_id}<\/code> returns percentage, confidence, and optional field breakdown in JSON.<\/li>\n<li><strong>13 hooks<\/strong> Actions and filters let themes and addons extend the matching engine, display output, admin settings, and API responses without modifying plugin files.<\/li>\n<li><strong>Field completion nudges<\/strong> Automatic prompts encourage members to fill in missing profile fields that would improve their match quality.<\/li>\n<\/ul>\n\n<h4>\ud83d\udee1\ufe0f Secure and Private<\/h4>\n\n<p>Nonce verification, capability checks, and input sanitization on every request. Match data is only visible to logged in members. No anonymous access, no external API calls, no tracking, and no third party dependencies. Everything runs entirely on your server.<\/p>\n\n<h4>\ud83d\udc8e Pro (Coming Soon)<\/h4>\n\n<ul>\n<li><strong>Per field breakdown<\/strong> Detailed tooltip showing exactly what matched, what did not, and which fields were missing for each member pair<\/li>\n<li><strong>Advanced directory filters<\/strong> Filter the members directory by minimum match percentage and specific field values<\/li>\n<li><strong>Unlimited top matches<\/strong> Show an unlimited number of top matches on each member profile<\/li>\n<li><strong>Bar and heart display styles<\/strong> Additional display options with a color customizer and animations<\/li>\n<li><strong>Advanced export and reports<\/strong> CSV and JSON export with date filters, scheduled email reports, and delivery options<\/li>\n<\/ul>\n\n<h4>\ud83c\udfe2 Business (Coming Soon)<\/h4>\n\n<ul>\n<li><strong>Match based notifications<\/strong> Automatic email alerts when a high compatibility match is discovered<\/li>\n<li><strong>Message unlock rules<\/strong> Require a minimum match percentage or mutual match before members can message each other<\/li>\n<li><strong>Role to role match rules<\/strong> Control which member types and roles can match using a visual matrix<\/li>\n<li><strong>Match analytics<\/strong> Distribution charts, trend graphs, and per member match history<\/li>\n<li><strong>Automation and webhooks<\/strong> Trigger external actions when match thresholds are reached, with CRM and email platform integration<\/li>\n<li><strong>Geo and distance matching<\/strong> Radius based matching with configurable location weighting<\/li>\n<li><strong>Saved segments<\/strong> Create smart member lists such as \"80% or higher compatibility and active in the last 7 days\"<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong> in your WordPress admin<\/li>\n<li>Search for <strong>Match Me for BuddyPress &amp; BuddyBoss<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Go to <strong>Match Me<\/strong> in the admin menu to configure your fields<\/li>\n<\/ol>\n\n<p>Or upload the <code>match-me-for-buddypress<\/code> folder to your plugins directory and activate.<\/p>\n\n<p>Requires BuddyPress or BuddyBoss Platform to be installed and active.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"what%20platforms%20are%20supported%3F\"><h3>What platforms are supported?<\/h3><\/dt>\n<dd><p>BuddyPress and BuddyBoss Platform. The plugin auto detects which one is active.<\/p><\/dd>\n<dt id=\"what%20kind%20of%20sites%20can%20use%20this%3F\"><h3>What kind of sites can use this?<\/h3><\/dt>\n<dd><p>Any community where connecting compatible members matters. Dating and relationship sites, professional networking platforms, roommate and housing finders, mentor and mentee matching, study group formation, co founder matching, and more.<\/p><\/dd>\n<dt id=\"how%20are%20matches%20calculated%3F\"><h3>How are matches calculated?<\/h3><\/dt>\n<dd><p>Each xProfile field gets a weight and comparison mode. The engine fetches both members' field values in a single SQL query, scores each field according to its mode, and combines them into a weighted percentage.<\/p><\/dd>\n<dt id=\"what%20are%20comparison%20modes%3F\"><h3>What are comparison modes?<\/h3><\/dt>\n<dd><p><strong>Exact<\/strong> scores 100% when values match, 0% otherwise. Best for dropdowns and radio buttons.<\/p>\n\n<p><strong>Overlap<\/strong> uses Jaccard similarity for multi value fields like checkboxes. More shared selections means a higher score.<\/p>\n\n<p><strong>Range<\/strong> scores by how close two numbers are within a configurable tolerance. Best for numeric fields like age or budget.<\/p>\n\n<p><strong>Partial<\/strong> scores by text similarity. Best for free text fields like job titles or interests.<\/p><\/dd>\n<dt id=\"what%20is%20a%20hard%20exclusion%3F\"><h3>What is a hard exclusion?<\/h3><\/dt>\n<dd><p>A must match field. If two members do not match on a hard exclude field, their entire compatibility drops to 0%. Use for critical criteria like language, location, or gender preference.<\/p><\/dd>\n<dt id=\"what%20is%20the%20confidence%20score%3F\"><h3>What is the confidence score?<\/h3><\/dt>\n<dd><p>It shows what percentage of configured field weights both members actually have data for. High confidence means most fields were compared. Low confidence means many fields were left empty by one or both members.<\/p><\/dd>\n<dt id=\"does%20it%20scale%20to%20large%20communities%3F\"><h3>Does it scale to large communities?<\/h3><\/dt>\n<dd><p>Yes. The engine uses optimized SQL queries and a dedicated cache table. A directory page with 100 members loads match data in 1 to 2 queries. Uncached results calculate lazily via AJAX as members scroll into view.<\/p><\/dd>\n<dt id=\"is%20match%20data%20visible%20to%20everyone%3F\"><h3>Is match data visible to everyone?<\/h3><\/dt>\n<dd><p>Match scores are visible to all logged in members. Anonymous visitors see nothing.<\/p><\/dd>\n<dt id=\"can%20i%20customize%20the%20display%3F\"><h3>Can I customize the display?<\/h3><\/dt>\n<dd><p>Yes. Choose between circle progress and badge styles, and configure separate colors for high, medium, and low match thresholds in the admin.<\/p><\/dd>\n<dt id=\"is%20the%20old%20shortcode%20still%20supported%3F\"><h3>Is the old shortcode still supported?<\/h3><\/dt>\n<dd><p>Yes. <code>[mp_match_percentage]<\/code> still works and renders the same output as the new <code>[matchme]<\/code> shortcode.<\/p><\/dd>\n<dt id=\"can%20i%20request%20custom%20development%3F\"><h3>Can I request custom development?<\/h3><\/dt>\n<dd><p>Yes. We offer custom feature development for tailored matching algorithms, display styles, and third party integrations. Contact hello@meshpros.com for a quote.<\/p><\/dd>\n<dt id=\"does%20it%20phone%20home%20or%20require%20external%20services%3F\"><h3>Does it phone home or require external services?<\/h3><\/dt>\n<dd><p>No. Everything runs on your server. No external requests, no tracking, no analytics, and no third party dependencies.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.0<\/h4>\n\n<p>Complete rewrite from the ground up.<\/p>\n\n<ul>\n<li>SQL first matching engine replacing the PHP loop approach<\/li>\n<li>4 comparison modes: exact, overlap, range, partial<\/li>\n<li>Hard exclusion and deal breaker support<\/li>\n<li>Confidence score alongside match percentage<\/li>\n<li>Dedicated cache table with auto invalidation<\/li>\n<li>Lazy loading directory via IntersectionObserver<\/li>\n<li>Modern admin with tabbed settings and AJAX save<\/li>\n<li>Field completion nudges for members<\/li>\n<li>REST API endpoint for developers<\/li>\n<li>13 extension hooks for themes and addons<\/li>\n<li>Full security: nonces, capability checks, sanitized inputs<\/li>\n<li>SVG circle and badge display styles<\/li>\n<li>Backward compatible shortcode support<\/li>\n<li>Clean uninstall with complete table removal<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<p>Regular update and maintenance.<\/p>","raw_excerpt":"Turn your BuddyPress or BuddyBoss community into a matchmaking platform with weighted compatibility scoring and smart comparison.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/54535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=54535"}],"author":[{"embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/xpertone"}],"wp:attachment":[{"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=54535"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=54535"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=54535"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=54535"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=54535"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/roh.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=54535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}