Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/kailanwyatt/bp-gifts/archive/refs/heads/master.zipEnhanced virtual gifts for BuddyPress with service architecture, thread-level gifts, accessibility features, and comprehensive user dashboard.
Description
Gifts for BuddyPress is a completely modernized social enhancement plugin that revolutionizes how users send virtual gifts through BuddyPress messaging. With a service-based architecture, comprehensive accessibility features, and powerful new capabilities, it's perfect for any community looking to boost engagement.
🎁 What's New in v2.1
Thread-Level Gifts - Attach gifts to entire conversation threads, not just individual messages Service Architecture - Modern dependency injection container with clean, maintainable code User Gift Dashboard - Complete interface for users to view received and sent gifts with statistics Enhanced Accessibility - Full WCAG compliance with screen reader support and keyboard navigation RTL Language Support - Complete right-to-left language compatibility Advanced Search & Filtering - Real-time gift search with category filtering Comprehensive Statistics - Track gift history, popular gifts, and user engagement
🚀 Key Features
Modern Architecture
- Service-based architecture with dependency injection
- Clean separation of concerns with interfaces
- Comprehensive error handling and logging
- WordPress coding standards compliance
- PHP 7.4+ with modern language features
Enhanced User Experience
- Thread-level and message-level gift attachment
- Real-time search with instant filtering
- Keyboard navigation throughout interface
- Responsive design for all devices
- Beautiful modal interface with pagination
Accessibility Excellence
- Full WCAG 2.1 AA compliance
- Screen reader support with proper ARIA labels
- Keyboard navigation for all interactions
- High contrast mode compatibility
- Focus management and announcements
Internationalization & RTL
- Complete translation readiness
- RTL (right-to-left) language support
- Logical CSS properties for international compatibility
- Cultural sensitivity in design patterns
User Gift Management
- Comprehensive gift dashboard with statistics
- Received and sent gift tracking
- Gift type filtering (thread vs message)
- Direct links to conversations
- Personal gift analytics
Developer Features
- Modern service container architecture
- Extensive hook system for customization
- Comprehensive API for gift management
- Clean template system
- Detailed code documentation
📊 User Dashboard Features
Gift History
- View all received and sent gifts
- Filter by gift type (thread/message)
- Beautiful card-based layout
- Direct conversation links
Statistics & Analytics
- Total gifts received and sent
- Most received gift identification
- Most active gift senders
- Engagement metrics
Smart Navigation
- Tab-based interface (Received/Sent)
- Real-time filtering
- Responsive grid layout
- Touch-friendly mobile interface
🔧 Technical Specifications
Requirements
- WordPress 5.0+
- BuddyPress 8.0+
- PHP 7.4+
- MySQL 5.7+ or MariaDB 10.2+
Performance
- Efficient database queries with proper indexing
- WordPress transients for intelligent caching
- Optimized JavaScript with minimal footprint
- Lazy loading for improved page speed
Security
- Proper data sanitization and validation
- Nonce verification for all actions
- Capability checks for administrative functions
- SQL injection prevention
🎯 Perfect For
- Dating and relationship platforms
- Community forums and social networks
- Educational institutions with social features
- Gaming and entertainment communities
- Professional networking sites
- Family and friend networks
- Any BuddyPress-powered social platform
Installation
Automatic Installation
- Log in to your WordPress admin panel
- Navigate to Plugins > Add New
- Search for "Gifts for BuddyPress"
- Click "Install Now" and then "Activate"
Manual Installation
- Download the plugin zip file
- Extract the files to your
/wp-content/plugins/bp-gifts/directory - Activate the plugin through the WordPress admin Plugins menu
After Installation
- Ensure BuddyPress is installed and activated
- Navigate to "Gifts" in your WordPress admin menu
- Add your first gift with a title and featured image
- Configure gift categories (optional)
- Users can now send gifts through BuddyPress messages!
Quick Setup Guide
Step 1: Add Gifts
- Go to WordPress Admin > Gifts > Add New
- Upload an image and add a title
- Assign to a category (optional)
- Publish the gift
Step 2: Configure Categories (Optional)
- Go to Gifts > Gift Categories
- Create meaningful categories like "Birthday", "Love", "Friendship"
- Assign gifts to appropriate categories
Step 3: Display User Dashboard
- Add shortcode
[bp_user_gifts]to any page - Or integrate into BuddyPress member profiles
- Users can now view their gift history
Step 4: Test the System
- Send a test message with a gift
- Verify gifts appear in conversations
- Check the user dashboard functionality
Usage Instructions
Sending Gifts
As a User:
- Go to BuddyPress Messages and compose or reply to a message
- Click the "Send Gift" button below the message area
- Browse gifts using search or category filtering
- Use arrow keys for keyboard navigation
- Click or press Enter/Space to select a gift
- Choose between attaching to the message or entire thread
- Send your message with the attached gift
Gift Types:
- Message Gifts: Attached to individual messages
- Thread Gifts: Attached to entire conversation threads
Viewing Gifts
In Conversations:
- Message gifts appear within individual messages
- Thread gifts display at the top of conversation threads
- Both types show with appropriate visual indicators
User Dashboard:
- Use shortcode
[bp_user_gifts]on any page - View received and sent gifts in organized tabs
- Filter by gift type or search through history
- Access detailed statistics and analytics
Administrative Management
Adding Gifts:
- Navigate to Gifts > Add New in WordPress admin
- Add a descriptive title
- Upload a high-quality featured image (recommended: 200x200px)
- Add optional description
- Assign to categories for better organization
- Publish when ready
Managing Categories:
- Go to Gifts > Gift Categories
- Create logical groupings (e.g., "Celebrations", "Emotions")
- Assign colors or icons for visual distinction
- Organize gifts for easier user selection
Monitoring Usage:
- Check user gift statistics through the dashboard
- Monitor popular gifts and engagement patterns
- Use insights to add more relevant gift options
Customization Options
Styling:
- Override CSS classes in your theme
- Customize colors and layouts
- Add custom animations or effects
- Responsive breakpoints for mobile optimization
Functionality:
- Use action hooks to extend functionality
- Filter hooks for customizing behavior
- Template override system for advanced customization
- Service container for adding custom services
Frequently Asked Questions
How do thread-level gifts differ from message gifts?
Message Gifts are attached to individual messages within a conversation, while Thread Gifts are attached to the entire conversation thread. Thread gifts appear at the top of the conversation and represent the overall relationship or thread topic.
Can users view all their gifts in one place?
Yes! The new User Gift Dashboard provides a comprehensive view of all received and sent gifts, complete with filtering, statistics, and direct links to conversations. Use the [bp_user_gifts] shortcode to display it.
Is the plugin accessible for users with disabilities?
Absolutely! Version 2.1 includes full WCAG 2.1 AA compliance with screen reader support, keyboard navigation, proper ARIA labels, focus management, and high contrast mode compatibility.
Does it support right-to-left (RTL) languages?
Yes, the plugin includes complete RTL language support with logical CSS properties and culturally appropriate design patterns for Arabic, Hebrew, and other RTL languages.
Can I customize the gift selection interface?
Yes, the plugin provides extensive customization options through CSS classes, JavaScript hooks, template overrides, and the service architecture. Developers can modify appearance and behavior using standard WordPress methods.
How many gifts can I add?
There's no limit to the number of gifts you can add. The plugin uses intelligent pagination and search functionality to ensure optimal performance even with thousands of gifts.
Can I import gifts in bulk?
Yes, since gifts are standard WordPress posts, you can use any WordPress post import tool (like WP All Import) to bulk import gifts with images and categories.
Does this work with multisite installations?
Yes, the plugin is fully compatible with WordPress multisite installations and can be network-activated or activated per-site as needed.
Can I track gift usage analytics?
Yes, the User Dashboard includes comprehensive statistics showing popular gifts, active users, and engagement patterns. Each user can see their personal gift history and statistics.
Is the search functionality real-time?
Yes, the gift search feature provides instant results as users type, with no page refreshes required. It searches through gift names and can be extended to include descriptions.
Developer Information
Service Architecture
The plugin uses a modern dependency injection container with the following services:
- Gift_Service: Manages gift data and operations
- Message_Service: Handles message and thread attachments
- Modal_Service: Renders interface components
- User_Service: Manages user gift history and statistics
Available Hooks
Actions:
bp_gifts_gift_attached- After gift attached to messagebp_gifts_gift_attached_to_thread- After gift attached to threadbp_gifts_after_plugin_loaded- After plugin initialization
Filters:
bp_gifts_can_user_attach_gift- Control user permissionsbp_gifts_modal_data- Customize modal contentbp_gifts_user_dashboard_args- Modify dashboard parameters
Template Override System
Create /bp-gifts/ folder in your active theme and copy plugin templates for customization:
user-gifts-dashboard.php- User gift dashboardgift-modal.php- Gift selection modalmessage-gift.php- Message gift displaythread-gift.php- Thread gift display
Shortcodes
[bp_user_gifts] Display user gift dashboard
Parameters:
user_id- Specific user ID (optional)
Examples:
[bp_user_gifts] // Current user's gifts
[bp_user_gifts user_id="123"] // Specific user's gifts
Screenshots
- Enhanced Gift Selection Modal - Real-time search, keyboard navigation, and accessibility features
- Thread Gift Display - Beautiful thread-level gift integration with conversation threads
- User Gift Dashboard - Comprehensive gift history with statistics and filtering
- Mobile-Responsive Interface - Touch-friendly design for all devices
- Admin Gift Management - Streamlined WordPress admin interface for gift creation
- RTL Language Support - Complete right-to-left language compatibility
- Accessibility Features - Screen reader support and keyboard navigation
- Gift Statistics - Personal analytics and engagement tracking
Changelog
2.1.0 - October 2025
🎉 Major Feature Release - Enhanced Architecture & User Experience
New Features:
- Thread-Level Gifts: Attach gifts to entire conversation threads
- User Gift Dashboard: Comprehensive interface for viewing gift history and statistics
- Service Architecture: Modern dependency injection container with clean interfaces
- Enhanced Accessibility: Full WCAG 2.1 AA compliance with screen reader support
- RTL Language Support: Complete right-to-left language compatibility
- Advanced Search: Real-time gift search with instant filtering
- Keyboard Navigation: Full keyboard accessibility throughout interface
- Gift Statistics: Personal analytics and engagement tracking
Technical Improvements:
- Service-based architecture with dependency injection container
- Clean separation of concerns with proper interfaces
- Enhanced error handling and logging
- Comprehensive code documentation
- Modern PHP 7.4+ features and syntax
- Improved database query optimization
User Experience Enhancements:
- Beautiful responsive design with mobile optimization
- Touch-friendly interface for tablets and phones
- Improved modal interface with better pagination
- Real-time search with instant results
- Category filtering for better gift organization
- Enhanced visual feedback and animations
Accessibility Features:
- Screen reader support with proper ARIA labels
- Keyboard navigation for all interactive elements
- Focus management and visual indicators
- High contrast mode compatibility
- Screen reader announcements for actions
Internationalization:
- Complete translation readiness
- RTL (right-to-left) language support
- Logical CSS properties for international compatibility
- Cultural sensitivity in design patterns
Developer Features:
- Extensive hook system for customization
- Template override system
- Service container for custom extensions
- Comprehensive API documentation
- Modern coding standards compliance
2.0.0 - Previous Release
- Complete code modernization and security improvements
- Updated to WordPress coding standards
- Improved performance with better caching
- Enhanced security with proper data sanitization
- Responsive design improvements
- Better error handling and user feedback
- Modern JavaScript with improved UX
- Comprehensive admin interface improvements
- PHP 7.4+ requirement for better performance
- WordPress 5.0+ requirement for modern features
1.0.0 - Initial Release
- Basic gift sending functionality
- Simple admin interface
- BuddyPress message integration
Upgrade Notice
2.1.0
🎉 MAJOR UPDATE: New thread-level gifts, user dashboard, accessibility features, RTL support, and service architecture! Backup recommended. Requires PHP 7.4+ and WordPress 5.0+.
2.0.0
Major update with significant security and performance improvements. Requires PHP 7.4+ and WordPress 5.0+. Please backup your site before upgrading.
Support
For support, feature requests, or bug reports:
- Documentation: Plugin Documentation
- Support Forum: WordPress.org Support
- GitHub Issues: Report Technical Issues
- Contact: SuitePlugins Support
Contributing
We welcome contributions! Please visit our GitHub repository to:
- Report bugs or request features
- Submit pull requests
- Improve documentation
- Translate the plugin
Privacy & GDPR
This plugin:
- Does not collect personal data beyond WordPress defaults
- Stores gift attachments as WordPress metadata
- Respects user privacy settings
- Compatible with GDPR requirements
- Provides data export/deletion capabilities through WordPress core functions