BACK TO DIRECTORY

LuckyWP Table of Contents

by LuckyWP

4.9
(885 ratings)

Creates SEO-friendly table of contents for your posts, pages or custom post types. Great customizable appearance.

Features

  • Automatical insertion a table of contents (configure post types and position).
  • SEO-friendly: table of contents code is ready to use by Google for snippets on result page.
  • Insert by shortcode, Gutenberg block or widget.
  • Button on toolbar of the classic editor.
  • Gutenberg block into “Common Blocks”.
  • Setting the minimum number of headings to display table of contents.
  • Setting the depth of headings for table of contents.
  • Skip headings by level or text.
  • Hierarchical or linear view.
  • Numeration items: decimal or roman numbers in order or nested.
  • Customizable appearance: width, float, title font size and weight, items font size, colors.
  • Color schemes (dark, light, white, transparent, inherit from theme) and the ability to override colors.
  • Toggle Show/Hide (optionally)
  • Customizable labels.
  • Smooth scroll (optionally).
  • Setting offset top for smooth scroll.
  • Wrap table of contents with <!–noindex–> tag (optionally).
  • Pretty hash in URL (like example.com/faq/#how_do_this).
  • RTL support.
  • Available override global settings for a particular post.
  • Highly compatible with WordPress themes and plugins.

Auto Insert

For automatical insertion a table of contents in a posts, select option “Auto Insert Table of Contents” in the plugin settings (tab “Auto Insert”).

Supported positions:

  • before first heading;
  • after first heading;
  • after first block (paragraph or heading);
  • top of post content;
  • bottom of post content.

You can also select post types to which the table of contents will be automatically added.

Manual Insert

For manual insertion a table of content in a posts, use one of the ways:

  • button “Table of Contents” on toolbar in classic editor;
  • gutenberg block “Table of Contents”;
  • shortcode [lwptoc].

Pretty hash in URL

By default, hash generated as heading text (for example, #How_Do_This). You can change hash format in global settings, tab “Misc.”.

For non-English websites it is recommended to enable the Intl PHP extension.

Compatibility

LuckyWP Table of Contents was successfully tested with the following plugins:

  • Elementor Page Builder
  • Beaver Builder and Beaver Builder Themer Add-On
  • WPBakery Page Builder
  • Oxygen
  • WordPress Multilingual Plugin (WPML), officially confirmed
  • Rank Math, officially confirmed
  • WP Rocket
  • Toolset Views and Toolset Access

Hooks

Filters lwptoc_before, lwptoc_after

Use for add custom HTML before/after the table of contents.

Example:

add_filter('lwptoc_before', function ($before) {
    return '<p>Example text before TOC.</p>' . $before;
});

Filter lwptoc_shortcode_tag

Use this filter for change shortcode tag name [lwptoc].

Example:

add_filter('lwptoc_shortcode_tag', function ($tag) {
    return 'toc';
});

Filter lwptoc_heading_id

Use for modify heading ID.

Example:

add_filter('lwptoc_heading_id', function ($id, $label) {
    return $id;
}, 10, 2);

Screenshots

Table of Contents

Table of Contents

Gutenberg Support

Gutenberg Support

Classic Editor Support

Classic Editor Support

Customize Window

Customize Window

Examples of Color Solutions

Examples of Color Solutions

Widget Settings

Widget Settings

General Settings

General Settings

Appearance Settings

Appearance Settings

Auto Insert Settings

Auto Insert Settings

Processing Headings Settings

Processing Headings Settings

Miscellaneous Settings

Miscellaneous Settings

Plugin Details

Active Installs
100K+
Total Downloads
1,138,800
Version
2.1.14
Requires WP
4.7
Requires PHP
5.6.20
Tested Up To
6.7.7
Added
2018-11-14
Last Updated
2025-04-16 10:13am GMT

Ratings

5
836
4
29
3
6
2
4
1
10