Finder NU
Custom WordPress plugin for filtering, selecting, and comparing research data storage options. Converted from an existing Drupal module by Library Technology Services and further customized by RDS.
by Jeanine Rodriguez & Northeastern University Research Data Services · github.com/researchdataservicesnu/rdsnu-wp-finder · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/researchdataservicesnu/rdsnu-wp-finder/archive/refs/heads/main.zipFinder NU - WordPress Plugin
Interactive service finder plugin to help users choose among similar alternatives using criteria-based filtering.
Description
Finder NU is a WordPress plugin converted from the Drupal 8 Finder module by Jeanine Rodriguez, originally created by Cornell Data Management Service Group and Cornell Information Technologies Custom Development Group. This plugin helps users navigate complex choices by filtering services based on multiple criteria.
Research Data Services has further adapted and extended the plugin with Northeastern University branding and integrated email functionality that is enabled or disabled based on internal settings and selected services.
The plugin is ideal for:
- Helping researchers choose data storage solutions
- Guiding users to appropriate technology services
- Comparing complex products or services
- Any scenario where users need to narrow down choices from 15-30 similar alternatives
Original Credits
Created by: Cornell Data Management Service Group and Cornell Information Technologies Custom Development Group (2018)
WordPress Conversion: Northeastern University Research Data Services
This software is provided free of cost with no restrictions on re-use or modification, provided "as is" without warranty.
Features
- Interactive Filtering: Users select criteria via checkboxes and radio buttons to narrow down options
- Visual Feedback: Services that don't match criteria are greyed out
- Comparison Table: Selected services can be compared side-by-side
- Flexible Categories: Administrators define custom comparison categories
- Hierarchical Facets: Two-level taxonomy for criteria (parent) and choices (children)
- Email Notifications: Optional email submissions of user selections
- Responsive Design: Works on desktop, tablet, and mobile devices
Installation
Method 1: Upload via WordPress Admin
- Download the plugin as a ZIP file
- Go to Plugins > Add New in WordPress admin
- Click Upload Plugin
- Choose the ZIP file and click Install Now
- Click Activate Plugin
Method 2: Manual Installation
- Upload the
finder-nufolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
Method 3: GitHub Installation
cd wp-content/plugins
git clone https://github.com/ResearchDataServicesNU/FinderNU finder-nu
Then activate through WordPress admin.
Plugin Structure
finder-nu/
├── finder-nu.php # Main plugin file
├── includes/
│ ├── class-post-types.php # Register custom post types
│ ├── class-taxonomies.php # Register custom taxonomies
│ ├── class-meta-boxes.php # Service meta boxes
│ ├── class-ajax-handler.php # AJAX filtering logic
│ ├── class-shortcode.php # Shortcode rendering
│ ├── class-settings.php # Settings page
│ └── class-email-handler.php # Email notifications
├── assets/
│ ├── css/
│ │ ├── finder-nu.css # Frontend styles
│ │ └── admin.css # Admin styles
│ └── js/
│ ├── finder-nu.js # Frontend JavaScript
│ └── admin.js # Admin JavaScript (if needed)
├── languages/ # Translation files
└── README.md # This file
Setup Instructions
1. Configure Settings
Go to Settings > Finder NU and configure:
- Page Title: Main heading for the finder interface
- Labels: Customize text for different sections
- Comparison Categories: Define the categories that will appear in the comparison table
- Email Settings: Enable email notifications and set admin email
2. Add Control Types
The plugin creates two default control types on activation:
- checkbox: For criteria where multiple choices can be selected
- radio: For criteria where only one choice can be selected
View/edit these at Control Types (in the admin menu).
3. Create Facets (Criteria and Choices)
Go to Finder Services > Facets to create your filter hierarchy:
Parent Facets (Criteria/Questions)
These are top-level terms representing questions or criteria:
- Example: "Data Sensitivity", "Storage Duration", "File Sharing Needs"
- Leave Control Type as "None" for parent facets
Child Facets (Choices/Answers)
These are child terms representing possible answers:
- Example under "Data Sensitivity": "Public", "Internal Only", "Confidential"
- Set Control Type to either "checkbox" or "radio"
Important: Drag facets into a two-level hierarchy:
Data Sensitivity (Parent - No Control Type)
├── Public (Child - Radio)
├── Internal Only (Child - Radio)
└── Confidential (Child - Radio)
File Sharing Needs (Parent - No Control Type)
├── Individual Use (Child - Radio)
├── Team Collaboration (Child - Radio)
└── External Sharing (Child - Radio)
4. Add Services
Go to Finder Services > Add New to create services:
- Title: Service name (e.g., "Google Drive", "OneDrive")
- Content: Detailed description (optional, not shown in finder)
- Summary: Brief description shown on service cards
- Featured Image: Thumbnail image for service card (optional)
- Facets: Select all applicable facet choices that match this service
- Comparison Categories: Fill in data for each category you defined
5. Create Help Service (Required)
Create a special service with:
- Title: Exactly "Help"
- Categories: Provide helpful descriptions for what users should expect in each category field
- This service won't appear in results but will provide tooltips in the comparison table
6. Add Shortcode to Page
Create or edit a page and add:
[finder_nu]
Or with a custom title:
[finder_nu title="Find Your Storage Solution"]
Usage
For Users
- Visit the page with the finder shortcode
- Select criteria using the filter options in the sidebar
- Services are automatically filtered based on selections
- Ineligible services become greyed out
- Click "Select for Comparison" on desired services
- View detailed comparison in the table below
- Reset filters at any time
For Administrators
Managing Services
- Each service needs:
- Clear title and summary
- Appropriate facet assignments
- Complete comparison category data
Best Practices
- Start with 3-5 criteria and expand as needed
- Use radio buttons when only one option makes sense
- Use checkboxes when multiple selections are valid
- Keep summaries concise (2-3 sentences)
- Test the finder after adding services to ensure proper filtering
Customization
Custom Styling
Add custom CSS in your theme:
/* Change primary color */
.finder-nu-wrapper .finder-service-card:hover {
border-color: #your-color;
}
.service-select-btn {
background: #your-color;
}
Modify Templates
The plugin uses template parts that can be overridden in your theme by creating:
your-theme/finder-nu/template-parts/
Hooks and Filters
// Modify service query
add_filter('finder_nu_service_query_args', 'custom_service_args');
// Modify comparison categories output
add_filter('finder_nu_comparison_categories', 'custom_categories');
// After service selection
add_action('finder_nu_service_selected', 'custom_action', 10, 2);
Shortcode Parameters
[finder_nu title="Custom Title"]
Parameters:
title(string): Override the default page title
AJAX Endpoints
The plugin registers these AJAX actions:
finder_nu_filter_services: Filter services by selected facetsfinder_nu_get_service_data: Get detailed data for comparison tablefinder_nu_send_selection: Send email notification (if enabled)
Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Mobile browsers
Requirements
- WordPress 5.0 or higher
- PHP 7.2 or higher
- MySQL 5.6 or higher
Frequently Asked Questions
Q: Can I have more than two levels of facets? A: No, the plugin supports a two-level hierarchy (parent criteria and child choices).
Q: How many services can I add? A: There's no hard limit, but the plugin works best with 15-30 services. More than 50 may impact performance.
Q: Can users save their selections? A: Users can email their selections if you enable email notifications in settings.
Q: Can I export/import services? A: Use standard WordPress export/import tools, or install a plugin like WP All Import/Export.
Q: Does it work with page builders? A: Yes, the shortcode works with all major page builders (Elementor, Beaver Builder, Divi, etc.).
Troubleshooting
Services not filtering correctly
- Check that services have appropriate facets assigned
- Verify facet hierarchy (parent/child relationships)
- Ensure control types are set correctly
Comparison table not showing
- Make sure you've created a "Help" service
- Verify comparison categories are defined in settings
- Check that services have category data filled in
Styles look broken
- Clear browser cache
- Check for theme CSS conflicts
- Verify plugin assets are loading (check browser console)
Changelog
Version 1.0.0
- Initial WordPress conversion from Drupal 8 Finder module
- Custom post type for services
- Hierarchical taxonomy for facets
- Interactive filtering with AJAX
- Comparison table functionality
- Email notifications
- Responsive design
- Admin settings page
License
GPL v2 or later
Support
For issues, questions, or contributions:
- GitHub: https://github.com/ResearchDataServicesNU/RDSNU-WP-Finder
- Documentation: [Your documentation URL]
Credits
Original Drupal Module: Cornell University Research Data Management Service Group and Cornell Information Technologies Custom Development Group (2018)
WordPress Conversion: Northeastern University Research Data Services
Contributing
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
Acknowledgments
This plugin is a WordPress adaptation of the excellent Finder module for Drupal created by Cornell University. We're grateful for their work in creating and openly sharing this tool.