Microkid's Related Posts
Wordpress plugin to selectively add related posts to your post.
by Microkid / Canon · github.com/canon2k5/microkids-related-posts · 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/canon2k5/microkids-related-posts/archive/refs/heads/main.zipRelated Posts for WordPress
Manually select related posts and pages for your WordPress content, with full support for custom post types.
Requirements
- WordPress 6.0+
- PHP 8.0+
Features
- AJAX-powered search to find related posts from the post edit screen
- Single-click add/remove of relationships
- Reciprocal linking (optional) — adding A→B automatically adds B→A
- Custom post type support
- Widget, shortcode, and automatic insertion below post content
- Manual or automatic ordering (date, title, random)
- Thumbnail support
- Multilingual: German, French, Italian, Dutch, Indonesian
Installation
- Upload the
microkids-related-postsfolder to/wp-content/plugins/ - Activate through the Plugins menu
- Configure under Settings → Related Posts
Usage
Automatic display
Enable auto-display in Settings — related posts appear below post content automatically.
Shortcode
Place [related-posts] anywhere in post content.
Filter by post type:
[related-posts posttype=page]
Widget
Add the Related Posts widget to any sidebar via Appearance → Widgets.
Screenshots
The plugin will appear in the write/edit post screen.
The Related Posts options page allows you to completely customize the way related posts are displayed.
The Related Posts widget lets you automatically display related posts in your dynamic sidebar.
Changelog
4.0.5
- Removed unused CSS (dead
.MRP_search_utilityrule and an empty#MRP_relatedposts arule in the admin stylesheet)
4.0.4
- Security: fixed CSRF vulnerability on options page (missing nonce verification; hardcoded fake nonce replaced with
wp_nonce_field) - Security: whitelisted
header_element(h1–h6) andorderoption values to prevent injection - Security: added
esc_html()on all frontend output;esc_attr()on admin form fields - Security: added
current_user_can('manage_options')check in options handler - Security: added nonce verification on AJAX search endpoint
- Modernized: replaced deprecated
$wpdb->escape()withesc_sql() - Modernized: asset loading converted to
wp_enqueue_script()/wp_enqueue_style()withadmin_enqueue_scriptshook; AJAX URL passed viawp_localize_script() - Modernized: AJAX endpoint converted from
admin_inithack to properwp_ajax_mrp_searchhook - Modernized: replaced
WP_PLUGIN_URLandget_option('siteurl')withplugins_url() - Modernized: fixed
register_widget()class name casing - Modernized: all raw SQL replaced with
$wpdb->prepare()throughout - Modernized: replaced
extract()in widget with direct array access - Modernized: updated
load_plugin_textdomain()— removed deprecated second argument - Modernized: JS
escape()replaced withencodeURIComponent() - Cleaned
.polanguage files: removed stale absolute machine paths, addedLanguage:headers, fixed language labels - Removed donate widget and dead external links
4.0.3
- Fixed bug preventing related posts from showing when using automatic sorting with reciprocal linking off
4.0.2
- Added hook for proper database configuration when upgrading
4.0.1
- Fixed DB columns for manual positions not being generated correctly
- Fixed automatic ordering not updating in settings
4.0
- Added thumbnail support
- Added manual ordering of related posts
- Added default CSS file
- Improved admin UI layout
3.0
- Custom post type support
- Controlled ordering (date, title, random)
- Internationalization support
- Fixed non-Western character support
2.5
- Multiple widget instance support
- Improved AJAX search
2.4
- Shortcode support (
[related-posts])
2.0
- Automatic display below post content
- Widget support
- Related pages support