The error
When you activate Linkilo, WordPress shows:
Fatal error: Uncaught TypeError: call_user_func_array() expects ...
The cause
This error usually comes from a stricter PHP type check tripping on a legacy WordPress filter signature. It tends to show up on sites that have been mid-upgraded — PHP was bumped but a cached opcache or an older plugin (sometimes Linkilo itself, in very old versions) is still in memory.
The two reliable fixes are: switch to a modern, supported PHP version (8.1 or newer, ideally 8.2 / 8.3), or temporarily drop to a known-good older version while you isolate the conflict.
The fix
Switch your PHP version to 8.1, 8.2, or 8.3 — whichever your host supports. PHP 7.4 reached end-of-life in 2022 and shouldn’t be used on a production site for security reasons, but if you need a quick rollback to keep the site running while you debug, 7.4 is the oldest version Linkilo 3.0 runs on.
How to change PHP version
- cPanel hosts: Look for “MultiPHP Manager” or “PHP Selector” in cPanel
- SiteGround: Site Tools → Devs → PHP Manager
- Kinsta / WP Engine: Settings → Tools → PHP version
- Cloudways: Server Settings → Settings & Packages → PHP version
After changing PHP, reload your WordPress admin and reactivate Linkilo.
Two Linkilo copies?
If the trace mentions a Linkilo class or function being declared twice, an older Linkilo is still active next to the new one. Go to Plugins → Installed Plugins, deactivate and delete the older copy, then activate Linkilo 3.0. (Normally 3.0 blocks this itself and shows “Linkilo 3.0 was not activated”, but a half-finished update can slip past that check.)
Still happening?
Run the plugin conflict detection guide — sometimes the fatal trace mentions our plugin but the root cause is a conflicting plugin. The detection guide isolates the culprit safely.
Last reviewed for Linkilo 3.0.0 (October 2026).