Everything you need to know to upgrade WP Render Blogroll Links for PHP 8.4 and modern WordPress compatibility.
Version 3.0.0 is a major update that brings WP Render Blogroll Links into the modern WordPress and PHP ecosystem. The original plugin was abandoned and has been taken over and updated by Douglas LaMar – Sensible Websites.
[wp-blogroll] tags.
All deprecated PHP functions and patterns have been updated. The plugin now runs cleanly on PHP 8.0 through 8.4 with no warnings or notices.
Updated to work with the latest WordPress APIs and coding standards, including compatibility tested up to WordPress 6.7.
Replaced deprecated extract() usage, updated type handling, and resolved all PHP strict-mode warnings.
Originally developed by Tanin Ehrami, now actively maintained by Douglas LaMar – Sensible Websites with ongoing support and updates.
| Area | Change | Impact |
|---|---|---|
| PHP Version | Minimum PHP version raised to 8.0 | Medium – Sites running PHP 7.x or earlier must upgrade PHP first |
| extract() Removal | extract() calls have been replaced with explicit variable assignments |
Low – No user-facing impact, internal code change only |
| Admin Page | Deprecated screen_icon() call removed from admin settings page |
Low – Cosmetic: admin page icon no longer shown (was already hidden in modern WordPress) |
| Admin Capability | Admin menu capability changed from numeric 8 to string 'manage_options' |
Low – Follows modern WordPress capability conventions |
| Implicit Nullable Types | Function parameters updated to use explicit nullable types where needed | Low – Internal change, eliminates PHP 8.4 deprecation notices |
The following PHP changes were addressed in v3.0.0 to ensure clean operation on PHP 8.4:
extract() UsagePHP 8.4 deprecates extract() with EXTR_SKIP flag in certain contexts. v3.0.0 replaces all extract() calls with explicit variable assignments from the parsed arguments array.
// Before (v2.x)
$r = wp_parse_args( $args, $defaults );
extract( $r, EXTR_SKIP );
// After (v3.0.0)
$r = wp_parse_args( $args, $defaults );
$show_updated = $r['show_updated'];
$show_description = $r['show_description'];
// ... explicit assignments for each variable
screen_icon() RemovedThe screen_icon() function was deprecated in WordPress 3.8 and triggers errors on PHP 8.4+. It has been removed from the admin settings page.
// Before (v2.x)
screen_icon('options-general');
// After (v3.0.0)
// Removed — no longer needed in modern WordPress admin
WordPress deprecated numeric user level capabilities. The admin menu registration now uses the string-based 'manage_options' capability.
// Before (v2.x)
add_options_page('WP Render Blogroll Links', 'WP Blogroll Links', 8, ...);
// After (v3.0.0)
add_options_page('WP Render Blogroll Links', 'WP Blogroll Links', 'manage_options', ...);
PHP 8.4 deprecates implicitly nullable parameters. Function signatures have been updated to use explicit nullable type declarations where default values of null are used.
PHP 8.4 enforces stricter type comparisons. String-to-integer comparisons and null parameter handling have been updated throughout the codebase.
Ensure your server is running PHP 8.0 or higher (PHP 8.4 recommended). You can check this in your hosting control panel or via Tools → Site Health in WordPress.
[wp-blogroll] shortcodes[wp-blogroll] shortcode parameters work identically in v3.0.0. No changes to your page/post content are required.
The following shortcode parameters all continue to work as documented:
| Parameter | Status in v3.0.0 |
|---|---|
catid | Unchanged |
catname | Unchanged |
excludecat | Unchanged |
orderby | Unchanged |
order | Unchanged |
catorderby | Unchanged |
catorder | Unchanged |
limit | Unchanged |
showdesc | Unchanged |
showcatdesc | Unchanged |
notitle | Unchanged |
showbrk | Unchanged |
showdash | Unchanged |
show_images | Unchanged |
always_show_names | Unchanged |
show_names_under_images | Unchanged |
show_rss | Unchanged |
rss_image | Unchanged |
forcerel | Unchanged |
linkclass | Unchanged |
showhide | Unchanged |
livelinks | Unchanged |
If you have customized the plugin's PHP file or written code that interacts with the plugin's functions, review the following changes:
The function signature and behavior remain identical. Internal variable extraction has been modernized, but the function accepts the same parameters and produces the same output.
Same as above — the function signature is unchanged. Internal use of extract() has been replaced with direct array access, but output is identical.
The main shortcode handler function continues to accept all the same shortcode attributes and produce the same HTML output.
WP-Render-Blogroll.php directly, you will need to re-apply your changes to the v3.0.0 file. We recommend using a child theme or a custom plugin for modifications to avoid losing changes during future updates.
[wp-blogroll] and verify links display correctlycatid, showdesc, showhide, etc., confirm they still workWP-Render-Blogroll.php, ensure you've installed the correct v3.0.0 packagemanage_options capability (Administrator role)showhide feature uses inline JavaScript. A Content Security Policy (CSP) or JavaScript error may be blocking it.
showhide=1[wp-blogroll] shortcodes with all parameters are fully backward-compatible. You do not need to edit any pages or posts.
.linkcat, .brlink, .linkcattitle, .catdescription, .xoxo.blogroll, etc.) are identical in v3.0.0. Your existing CSS will continue to work.
Download v3.0.0 and enjoy full PHP 8.4 and modern WordPress compatibility.
Download v3.0.0