All 14 Table of Contents sections

See every section

Switching from Easy Table of Contents or LuckyWP

Updated Table of Contents 1.8.1Tested with WordPress 7.1

Deactivate the old plugin and leave your posts as they are. Nothing in them needs editing.

  • Their shortcodes show this plugin's list in the same place: [ez-toc], Easy Table of Contents' second name [toc], and LuckyWP's [lwptoc]. Easy Table of Contents' [ez-toc-widget-sticky] in a sidebar shows the sidebar copy of the list, as the Contents (sidebar) block does.
  • LuckyWP's block shows this plugin's list on the page, and in the editor it shows the same placeholder as the Table of Contents block, so the post opens and saves without a "block not supported" message. It is not offered for new posts: use the Table of Contents block for those.
  • What carries over is what this plugin has a setting for: the title (header_label, label, title), the heading levels (heading_levels, and LuckyWP's depth and skipHeadingLevel), the minimum number of headings (min), numbers on or off (display_counter="no", LuckyWP's numeration), folding (toggle_view, initial_view="hide", LuckyWP's toggle and hideItems), a flat or nested list (LuckyWP's hierarchical) and columns. Their colours, fonts, widths and the like are left out, and the list takes this plugin's design. Easy Table of Contents' post_types, post_in and post_not_in still decide which posts show the list.
  • LuckyWP's depth is how many levels the list goes down from the top, so depth="3" on a post whose sections are H2 lists H2 to H4. It is counted from the first level ticked under Settings → Heading levels.
  • Each post's own settings in the old plugin's box are read too. Where its list was switched off on a post, the post gets no automatic list, as if its Table of Contents box said Only where I place it; a list placed by hand still shows. Where it was switched on for a post its settings left out, the post gets one, as with Always show it. Choosing anything in this plugin's own box on the post overrides both. The box says so when a post has no list for this reason. For a list placed with [ez-toc] or [lwptoc], the old box's title, heading levels and folding are used where the shortcode does not give them.
  • Old links to sections keep working. Each plugin made its own anchors, such as #How_to_pack, and links to them are in emails, other sites and search results. On every post where the old plugin wrote them, the same anchors are worked out with that plugin's own rules (its lower case, hyphen and prefix settings included) and printed beside each heading, the way Keep old heading links working keeps a renamed heading's old anchor. An anchor the page already has is never repeated. They follow that setting: turn it off and they are not printed. Deactivating the old plugin is enough. Deleting LuckyWP deletes its settings too, and then only the posts holding its shortcode or block, or with its list switched on in their own LuckyWP box, keep their old anchors. Where Easy Table of Contents' settings were deleted with it, its own defaults are used.

Nothing of the old plugin's is changed or deleted: not its settings, not its post meta and not the posts. While the old plugin is active it keeps its own names, so there is never a second list. Activate it again and everything is its own once more.

Settings → Switching from Another Plugin appears when either plugin was used on the site. It says what was found (how many posts hold its shortcode or block, and on how many its list was switched off or on) and that nothing needs doing, or that the plugin is still active. It counts again once a day. On a site where it found nothing of either plugin, it counts again once a month, or at once when either plugin's settings come back or posts carrying its own per-post box are imported. Developers can stop all of this with the trtc_former_plugins filter returning an empty array.

On a post split into pages, Easy Table of Contents numbered a repeated heading across all the pages, so a second "Conclusion" on page 2 was #Conclusion-2, and that is the anchor it keeps there. The earlier pages are read as they are saved, so a heading that a shortcode or a synced pattern prints on one of them is not counted. LuckyWP numbered each page on its own, and so is its anchor here.

Still stuck? Ask the developers who wrote it. We aim to reply within one business day.