- 🔹 1. Add-On Plugin Not Activated
- 🔹 2. Core Terminal Plugin Not Active
- 🔹 3. Add-On JavaScript Not Loading
- 🔹 4. JavaScript Errors Inside the Add-On
- 🔹 5. Add-On Commands Registered Before the Terminal Exists
- 🔹 6. Command Metadata Missing (So It Does Not Show in “help”)
- 🔹 7. Command Name Conflict
- 🔹 8. Add-On Script Blocked by Optimization Plugins
- 🔹 9. The Terminal Is Loaded Twice
- 🔹 10. Add-On Requires Login or Permission
- 🔹 11. Add-On Relies on Wallet Access (Core Does Not Request Connection)
- 🔹 12. Developer Added Code That Breaks the Registry
- 🎯 Summary
- ✔ Add-on might not be active
- ✔ Core plugin might be inactive
- ✔ Add-on JS may not be loading
- ✔ Script dependency order is wrong
- ✔ Syntax error inside add-on
- ✔ Metadata missing (help won’t show commands)
- ✔ Commands hidden or private
- ✔ Browser extensions blocking JS
- ✔ Theme/optimizer blocking scripts
- ✔ Duplicate terminals on page
- ✔ Wallet locked (for Web3 add-ons)
- ✔ Registry overwritten by custom code
Fix issues where add-on commands fail to appear in the terminal or don’t register at all.
If you installed and activated an add-on and its commands don’t show up inside the terminal — or running them does nothing — this guide explains what’s happening and how to fix it quickly.
These issues almost always come down to missing scripts, enqueue order, or JS errors.
🔹 1. Add-On Plugin Not Activated #
This is the most common cause.
Go to:
WP Admin → Plugins
Make sure the add-on plugin shows:
- Active
- No dependency warnings
- No errors
Inactive add-ons → no commands.
🔹 2. Core Terminal Plugin Not Active #
Add-ons depend on the Cointacted Social Terminal core plugin.
If the core is inactive:
- registry doesn’t exist
- metadata cannot register
- help cannot show the commands
Go to:
WP Admin → Plugins → Cointacted Social Terminal
Activate it and reload the page.
🔹 3. Add-On JavaScript Not Loading #
Your add-on JavaScript must load after the terminal JS.
In Developer Tools → Network panel:
Check if my-addon.js (or similar) is loading.
If NOT loading:
- wrong file path
- wrong enqueue URL
- file permission issue
- CDN blocked it
- plugin folder renamed incorrectly
Correct enqueue example:
wp_enqueue_script(
'my-addon',
plugin_dir_url(__FILE__) . 'js/my-addon.js',
['cointacted-social-terminal-js'], // important!
'1.0',
true
);
If you don’t include the dependency → the script loads too early, and the registry doesn’t exist yet.
🔹 4. JavaScript Errors Inside the Add-On #
If your add-on script has a syntax error, the entire script stops executing.
Open browser console:
F12 → Console
Look for errors like:
SyntaxError: Unexpected token
ReferenceError: registry is undefined
TypeError: Cannot read property 'mycommand' of undefined
Fix any errors in your add-on code, then reload the page.
🔹 5. Add-On Commands Registered Before the Terminal Exists #
Add-ons must register commands after the terminal initializes.
Wrong timing example:
registry.mycommand = ...
But terminal is not ready yet → command fails silently.
Correct pattern:
document.addEventListener('DOMContentLoaded', function() {
CointactedSocialTerminalTerminal.registry.mycommand = function(input) {
append_line("OK", "system");
};
});
Or at minimum:
window.addEventListener('load', function() {
CointactedSocialTerminalTerminal.registry.mycommand = ...
});
🔹 6. Command Metadata Missing (So It Does Not Show in “help”) #
If the command works but does NOT appear in help, metadata is missing.
Example:
CointactedSocialTerminalTerminal.commands_meta.mycommand = {
group: "ADDON",
description: "My custom command",
public: true
};
Make sure:
groupis defineddescriptionis definedhiddenis not set totrue
Without metadata → command becomes “invisible.”
🔹 7. Command Name Conflict #
If two plugins use the same command name:
registry.stats
One will override the other.
Symptom:
- your command won’t appear
- your command won’t run
- help shows the other plugin’s description
Fix:
- rename your command
- use a prefix:
myaddon_stats
🔹 8. Add-On Script Blocked by Optimization Plugins #
Plugins like:
- WP Rocket
- LiteSpeed Cache
- Autoptimize
- NitroPack
- SiteGround Optimizer
- Cloudflare Rocket Loader
- Elementor Experiments
…sometimes block or defer critical JS, preventing add-on commands from loading.
Try:
- disabling JS minification for the add-on
- disabling “defer all scripts” settings
- excluding plugin scripts from the optimizer
- clearing all caches
🔹 9. The Terminal Is Loaded Twice #
If the shortcode is placed in:
- two widgets
- a global template + local page
- a builder loop
- a theme block AND a template part
The terminal loads twice → registry gets overwritten → add-on fails.
Fix:
- ensure only one
[cointacted_social_terminal]is placed on a page
🔹 10. Add-On Requires Login or Permission #
Some add-ons hide commands for logged-out visitors.
If commands appear only when logged in:
→ The add-on marked them as public: false.
Check:
WP Admin → Cointacted → General Settings → Allow logged-out visitors to use safe commands
If disabled → no private commands for guests.
🔹 11. Add-On Relies on Wallet Access (Core Does Not Request Connection) #
If the add-on expects wallet connection but the core plugin is the only one active, commands won’t work.
Core plugin = no Web3 actions
Add-on = performs Web3 connection
If add-on requires ethereum.request({ method: "eth_requestAccounts" }), but MetaMask isn’t unlocked, commands won’t appear functional.
Unlock MetaMask → reload page → try again.
🔹 12. Developer Added Code That Breaks the Registry #
If you added custom JS like:
registry = {};
or:
CointactedSocialTerminalTerminal.registry = [];
…this destroys the terminal’s command system.
Add-ons will instantly fail.
Remove or correct your override.
🎯 Summary #
If add-on commands are not loading:
✔ Add-on might not be active #
✔ Core plugin might be inactive #
✔ Add-on JS may not be loading #
✔ Script dependency order is wrong #
✔ Syntax error inside add-on #
✔ Metadata missing (help won’t show commands) #
✔ Commands hidden or private #
✔ Browser extensions blocking JS #
✔ Theme/optimizer blocking scripts #
✔ Duplicate terminals on page #
✔ Wallet locked (for Web3 add-ons) #
✔ Registry overwritten by custom code #
Once the add-on JS loads properly and metadata is registered, commands appear instantly.