My first WordPress shortcode just returning []

As discussed in the comments, 'Card Table' is an invalid shortcode tag name.

Shortcode tag names must not contain any of the following:

  • The characters <, >, &, /, [, ], =
  • Whitespace characters (spaces, linefeeds, tabs, etc.)
  • Any other non-printing/Unicode “control code” characters

The old Codex page also recommends avoiding hyphens/dashes and uppercase letters, but there doesn’t seem to be codified protections against using these characters as there are for the cases above. It’s not clear to me if these recommendations are antiquated in modern releases – but it’s certainly safest to avoid them without further confirmation.

While neither the add_shortcode() documentation nor the Shortcode section of the Plugin Handbook explicitly mention these restrictions, if you have debugging features enabled, shortcodes registered with a tag name which contains any of the characters outlined in the bullet points above will produce an error message to the effect of

Invalid shortcode name: Card Table. Do not use spaces or reserved characters: & / < > [ ] =

The safest option in this case may be card_table.