Scholar Mini Blog
WordPress plugin that gives each Scholar (teacher / instructor / author) their own profile page and locked-down dashboard.
by Mohammad Reza Rezaei · github.com/irezaei/scholar-mini-blog · 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/irezaei/scholar-mini-blog/archive/refs/heads/main.zipA lightweight WordPress plugin that gives each Scholar their own personal blog page and locked-down dashboard.
Description
Scholar Mini Blog creates a complete blogging and profile management system for scholars on your WordPress site. Each scholar gets:
- Personal Blog Page at
/scholar/{username}with custom design - Scholar Directory at
/scholarsshowcasing all scholars - Locked-Down Dashboard - Scholars can only manage their own posts
- Profile Management - Add expertise title, WhatsApp, and Instagram links
- SEO Optimized - Proper meta tags, Open Graph support, and clean URLs
Features
✅ Custom "Scholar" role with restricted permissions
✅ Personal scholar profile pages with post listings
✅ Scholars directory with grid layout
✅ Custom profile fields (title, WhatsApp, Instagram)
✅ Shortcode support: [scholar_directory]
✅ Responsive design with RTL support
✅ Full accessibility support (WCAG 2.1)
✅ SEO-friendly with OG tags and meta descriptions
✅ Settings page to customize URL structure
✅ Complete admin lockdown for scholars
✅ Nonce verification and security hardening
✅ i18n ready with full translation support
Installation
- Download the plugin from WordPress.org
- Upload to
/wp-content/plugins/scholar-mini-blog/ - Activate the plugin from the WordPress admin
- Navigate to Settings → Scholar Settings to configure
Quick Start
1. Create a Scholar
- Go to Users → Add New
- Set role to "Scholar"
- Save the user
2. Configure Profile
- Edit the Scholar user
- Scroll to "Scholar Public Profile" section
- Add expertise title, WhatsApp link, Instagram link
- Save
3. View Profile
Visit: https://yoursite.com/scholar/username
4. View Directory
Visit: https://yoursite.com/scholars
Or use the shortcode: [scholar_directory]
Shortcode Usage
Basic Directory
[scholar_directory]
With Custom Columns
[scholar_directory columns="2"]
[scholar_directory columns="4"]
With Custom Items Per Page
[scholar_directory per_page="20"]
Settings
Navigate to Settings → Scholar Settings to configure:
- Scholar Profile Base URL - Default:
/scholar/ - Directory Base URL - Default:
/scholars/
After changing URL settings, it's recommended to re-save your Permalink settings to flush rewrite rules.
Scholar Permissions
Scholars have the following capabilities:
✅ Read posts ✅ Create posts ✅ Edit their own posts ✅ Publish posts ✅ Upload files ✅ Delete their own posts
❌ Cannot edit other users' posts ❌ Cannot delete other users' posts ❌ Cannot access Users menu ❌ Cannot access Plugins menu ❌ Cannot access Themes menu ❌ Cannot access Settings menu ❌ Cannot moderate comments
Security Features
- Nonce Verification - All forms use WordPress nonce protection
- Capability Checks - Proper permission validation on all operations
- Data Validation - Input sanitization and output escaping throughout
- URL Validation - Social media URLs are validated before saving
- Admin Lockdown - Scholars are restricted to only their own content
Customization
Custom Styling
The plugin uses CSS custom properties (variables) for easy customization:
:root {
--smb-primary: #1d4ed8;
--smb-text: #111827;
--smb-border: #e5e7eb;
--smb-radius: 1rem;
}
Template Override
Add custom templates to your theme:
your-theme/
├── scholar-mini-blog/
│ ├── author-smb.php
│ └── scholars-directory.php
Hooks and Filters
Actions
// On plugin activation
do_action( 'smb_activated' );
// On plugin deactivation
do_action( 'smb_deactivated' );
Filters
// Modify scholars query args
apply_filters( 'smb_scholars_query_args', $args );
// Modify scholar card HTML
apply_filters( 'smb_scholar_card_html', $html, $scholar );
Compatibility
- Minimum WordPress Version: 5.8
- Minimum PHP Version: 7.4
- Multisite Support: Yes (per-site roles)
- WooCommerce: Compatible
- Elementor: Compatible
- RTL Support: Yes (Arabic, Hebrew, etc.)
Browser Support
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- Mobile browsers (iOS Safari, Chrome Mobile)
Troubleshooting
Profile pages show 404 error
- Go to Settings → Permalinks
- Click "Save Changes" (don't need to change anything)
- This flushes the rewrite rules
Scholars see too many menu items
- Ensure users have "Scholar" role (not Administrator or Editor)
- Re-save their user profile to refresh permissions
WhatsApp/Instagram links not saving
- Ensure URLs follow the correct format:
- WhatsApp:
https://wa.me/1234567890 - Instagram:
https://instagram.com/username
- WhatsApp:
Directory shortcode not showing
- Verify at least one Scholar user exists
- Check that shortcode is placed in a page/post (not widget)
- Ensure plugin is activated
FAQ
Q: Can multiple sites use this on multisite? A: Yes, each site has its own Scholar role and settings.
Q: Can Scholars edit other Scholars' posts? A: No, they can only edit their own posts.
Q: How do I delete a Scholar? A: Delete the user from Users menu. All their metadata will be cleaned up automatically.
Q: Can I customize the profile page design? A: Yes, you can override templates in your theme or modify CSS custom properties.
Q: Is this GDPR compliant? A: The plugin itself doesn't collect personal data. Standard WordPress privacy practices apply.
Q: Can I export Scholar data? A: Yes, WordPress has built-in tools for user data export under Tools → Export Personal Data.
Support
For issues, feature requests, or documentation:
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Changelog
2.0.0
- Major rewrite with security improvements
- Nonce verification on all forms
- Enhanced URL validation for social links
- Added Settings page for URL customization
- Improved accessibility (WCAG 2.1 compliance)
- RTL support
- Open Graph meta tags
- Admin CSS styling
- Better error handling
- Complete documentation
1.3.1
- Initial release
License
Scholar Mini Blog is licensed under the GPLv2 or later. See LICENSE for details.
Author
Mohammad Reza Rezaei
- Website: Melalweb.com
- GitHub: @irezaei
Credits
Built with WordPress best practices and community standards.
Made with ❤️ for the scholarly community