Description
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);