View Categories

Add-On Commands Not Loading

4 min read

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:

  • group is defined
  • description is defined
  • hidden is not set to true

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.

Leave a Reply

Your email address will not be published. Required fields are marked *