Easy Table of Contents


Une extension conviviale, focalisée sur l’utilisateur qui vous permet d’insérer une table des matières dans vos articles, pages et types de contenu personnalisé.


  • Générez automatiquement une table des matières pour vos articles, pages et types de contenu personnalisé en analysant son contenu pour les en-têtes.
  • Activer optionnellement pour les pages et/ou articles, types de contenu personnalisé pris en charge, tant que leur contenu est extrait avec la balise de modèle the_content().
  • Optionally auto insert the table of contents into the page, selectable by enabled post type.
  • Provides many easy to understand options to configure when and where to insert the table of contents.
  • Many options are available to configure how the inserted table of contents appears which include several builtin themes. If the supplied themes do no meet you needs, you can create your own by choosing you own colors for the border, background and link color.
  • Multiple counter bullet formats to choose from; none, decimal, numeric and roman.
  • Choose to display the table of contents hierarchical or not. This means headings of lower priority will be nested under headings of higher priority.
  • User can optionally hide the table of contents. You full control of this feature. It can be disabled and you can choose to have it hidden by default.
  • Supporte le défilement doux.
  • Activer ou désactiver de manière sélective la table des matières, article par article.
  • Choisissez les titrages utilisés pour générer la table des matières. Cela peut aussi être défini article par article.
  • Easily exclude headers globally and on a post by post basis.
  • If you rather not insert the table of contents in the post content, you can use the supplied widget and place the table of contents in your theme’s sidebar.
  • The widgets supports being affixed or stuck on the page so it is always visible as you scroll down the page. NOTE: this is an advanced option since every theme is different, you might need support from your theme developer to learn what the correct item selector to use in the settings to enable this feature.
  • The widget auto highlights the sections currently visible on the page. The highlight color is configurable.
  • Developer friendly with many action hooks and filters available. More can be added by request on Github. Pull requests are welcomed.

Live Examples

Here are links to documentation pages for several of the premium templates for the Connections Business Directory plugin which utilize the widget included with this plugin:

Feuille de route

  • Fragment caching for improved performance.
  • Support for <!--nextpage-->.
  • Customizer support.


  • WordPress version: >= 3.2
  • PHP version: >= 5.2.4


Easy Table Contents is a fork of the excellent Table of Contents Plus plugin by Michael Tran.

Captures d’écran

  • The General section of the settings.
  • The Appearance section of the settings.
  • The Advanced section of the settings.


Using the WordPress Plugin Search

  1. Navigate to the Add New sub-page under the Plugins admin page.
  2. Search for easy table of contents.
  3. The plugin should be listed first in the search results.
  4. Click the Install Now link.
  5. Lastly click the Activate Plugin link to activate the plugin.

Uploading in WordPress Admin

  1. Download the plugin zip file and save it to your computer.
  2. Navigate to the Add New sub-page under the Plugins admin page.
  3. Click the Upload link.
  4. Select Easy Table of Contents zip file from where you saved the zip file on your computer.
  5. Click the Install Now button.
  6. Lastly click the Activate Plugin link to activate the plugin.

Using FTP

  1. Download the plugin zip file and save it to your computer.
  2. Extract the Easy Table of Contents zip file.
  3. Create a new directory named easy-table-of-contents directory in the ../wp-content/plugins/ directory.
  4. Upload the files from the folder extracted in Step 2.
  5. Activate the plugin on the Plugins admin page.


Ok, I’ve installed this… what do I do next?

You first stop should be the Table of Contents settings admin page. You can find this under the Settings menu item.

You first and only required decision is you need to decide which post types you want to enable Table of Contents support for. By default it is the Pages post type. If on Pages is the only place you plan on using Table of Contents, you have nothing to do on the Settings page. To keep things simple, I recommend not changing any of the other settings at this point. Many of the other settings control when and where the table of contents is inserted and changing these settings could cause it not to display making getting started a bit more difficult. After you get comfortable with how this works… then tweak away 🙂

With that out of the way make sure to read the How are the tables of contents created? FAQ so you know how the Table of Contents is automatically generated. After you have the page headers setup, or before, either way… Scroll down on the page you’ll see a metabox named « Table of Contents« , enable the Insert table of contents. option and Update and/or Publish you page. The table of contents should automatically be shown at the top of the page.

How are the tables of contents created?

La table des matière est générée par les titrages trouvés sur une page. Les titrages sont les balises HTML <h1>,<h2>,<h3>,<h4>,<h5>,<h6>. Si vous utilisez l’éditeur visuel de contenu WordPress, ces balises de titrage sont utilisées et insérées dans le contenu lorsque vous sélectionnez une des options de titrages n de la liste déroulante de mise en forme. Chaque titrage trouvé sur la page créera un élément de table des matières. Voici un exemple qui va créer une table des matières contenant les six éléments.

<h1>Item 1</h1>
<h1>Item 2</h1>
<h1>Item 3</h1>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

Vous pouvez également créer une table des matières « imbriquée ». C’est difficile à expliquer, donc je vais illustrer en me basant sur l’exemple précédent. Dans cet exemple, une table des matières sera créée avec les mêmes six éléments, mais maintenant les trois premiers auront chacun un élément enfant imbriqué en dessous. L’indentation n’est pas nécessaire, elle a été ajoutée uniquement à des fins d’illustration.

<h1>Item 1</h1>
    <h2>Item 1.1 -- Level 2</h2>
<h1>Item 2</h1>
    <h2>Item 2.1 -- Level 2</h2>
<h1>Item 3</h1>
    <h2>Item 3.1 -- Level 2</h2>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

Vous n’êtes également pas limité à un unique élément imbriqué. Vous pouvez en ajouter autant que vous le souhaitez. Vous pouvez même créer plusieurs niveaux imbriqués…

<h1>Item 1</h1>
    <h2>Item 1.1 -- Level 2</h2>
        <h3>Item 1.1.1 -- Level 3</h3>
        <h3>Item 1.1.2 -- Level 3</h3>
        <h3>Item 1.1.3 -- Level 3</h3>
    <h2>Item 1.2 -- Level 2</h2>
      <h3>Item 1.2.1 -- Level 3</h3>
      <h3>Item 1.2.2 -- Level 3</h3>
      <h3>Item 1.2.3 -- Level 3</h3>
    <h2>Item 1.3 -- Level 2</h2>
<h1>Item 2</h1>
    <h2>Item 2.1 -- Level 2</h2>
    <h2>Item 2.2 -- Level 2</h2>
<h1>Item 3</h1>
    <h2>Item 3.1 -- Level 2</h2>
    <h2>Item 3.2 -- Level 2</h2>
<h1>Item 4</h1>
<h1>Item 5</h1>
<h1>Item 6</h1>

Vous pouvez aller jusqu’à 6 niveaux en profondeur si nécessaire. J’espère que cela vous aidera à comprendre comment créer et construire votre propre table des matières auto générée sur vos sites !


9 janvier 2020
Easy to use, could use a few more positioning options but works great out of the box.
16 décembre 2019
It works very well, in fact. Without any coding, you can get Table of contents like that of Wikipedia. Thanks for this plugin!!
10 décembre 2019
Hi, this is very, very and very good plugin. when use this plugin, SERP is better; google now showing "jump to" and linked the section. this is very usefull for keywords that search. i have idea to better this plugin: please add sticky button when scroll to spesific section. EXP. jannah theme "content index"
Lire les 78 avis

Contributeurs & développeurs

« Easy Table of Contents » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“Easy Table of Contents” a été traduit dans 7 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Easy Table of Contents » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.


1.7 05/09/2018

  • NEW: Introduce the ez_toc_shortcode filter.
  • TWEAK: Fix notices due to late eligibility check. props unixtam
  • TWEAK: Tweak eligibility check to support the TOC widget.
  • TWEAK: Prefix a few CSS classes in order to prevent collisions with theme’s and other plugins.
  • TWEAK: Avoid potential PHP notice in admin when saving the post by checking for nonce before validating it.
  • TWEAK: Using the shortcode now overrides global options.
  • TWEAK: the_content() now caches result of is_eligible().
  • TWEAK: Refactor to pass the WP_Post object internally vs. accessing it via the $wp_query->post which may not in all cases exist.
  • TWEAK: Use pre_replace() to replace one or more spaces with an underscore.
  • TWEAK: Return original title in the ez_toc_url_anchor_target filter.
  • TWEAK: Strip &nbsp;, replacing it with a space character.
  • TWEAK: Minor tweaks to the in page URL creating.
  • TWEAK: Wrap TOC list in a nav element.
  • TWEAK: Init plugin on the plugins_loaded hook.
  • TWEAK: Tweak the minimum number of headers to 1.
  • BUG: The header options from the post meta should be used when building the TOC hierarchy, not the header options from the global settings.
  • BUG: Do not double escape field values.
  • BUG: Ensure Apostrophe / Single quote use in Exclude Headings work.
  • OTHER: Update CSS to include the newly prefixed classes.
  • DEV: Remove some commented out unused code.

1.6.1 03/16/2018

  • TWEAK: Revert change made to allow HTML added via the ez_toc_title filter as it caused undesirable side effects.
  • BUG: Ensure Smooth Scroll Offset is parsed as an integer.

1.6 03/15/2018

  • NEW: Add px option for font size unit.
  • NEW: Add title font size and weight settings options.
  • NEW: Add the Mobile Smooth Scroll Offset option.
  • TWEAK: Change default for font size unit from px to % to match the default options values.
  • TWEAK: Correct CSS selector so margin is properly applied between the title and TOC items.
  • TWEAK: Honor HTML added via ez_toc_title filter.
  • TWEAK: Ensure the ezTOC content filter is not applied when running the_content filter.
  • TWEAK: Only enqueue the javascript if the page is eligible for a TOC.
  • TWEAK: Update icomoon CSS to remove unecessary CSS selectors to prevent possible conflicts.
  • TWEAK: The smooth scroll offset needs to be taken into account when defining the offset_top property when affixing the widget.
  • OTHER: Update frontend minified CSS file.
  • OTHER: Update the frontend minified javascript file.
  • DEV: phpDoc corrections.

1.5 02/20/2018

  • BUG: Correct CSS selector to properly target the link color.
  • OTHER: Update the WayPoints library.
  • DEV: Add a couple @todo’s.

1.4 01/29/2018

  • TWEAK: Change text domain from ez_toc to easy-table-of-contents.
  • TWEAK: Rename translation files with correct text domain.
  • BUG: Ensure page headers are processed to add the in page header link when using the shortcodes.
  • BUG: Add forward slash to domain path in the plugin header.
  • I18N: Update POT file.
  • I18N: Update Dutch (nl_NL) translation.

1.3 12/18/2017

  • FEATURE: Add support for the [ez-toc] shortcode.
  • NEW: For backwards compatibility with « Table of Content Plus », register the [toc] shortcode.
  • NEW: Introduce the ez_toc_extract_headings_content filter.
  • TWEAK: Update the tested to and required readme header text.
  • TWEAK: Do not show the widget on the 404, archive, search and posts pages.
  • I18N: Add the nl_NL translation.

1.2 04/29/2016

  • TWEAK: Remove the font family from styling the TOC title header.
  • TWEAK: Pass the raw title to the ez_toc_title filter.
  • BUG: A jQuery 1.12 fix for WordPress 4.5.

1.1 02/24/2016

  • FEATURE: Add option to replace header wither alternate header text in the table of content.
  • NEW: Introduce the ez_toc_filter.
  • NEW: Introduce ezTOC_Option::textarea() to render textareas.
  • NEW: Introduce array_search_deep() to recursively search an array for a value.
  • TWEAK: Run table of contents headers thru wp_kses_post().
  • TWEAK: Escape URL.
  • TWEAK: Count excluded headings only once instead of multiple times.
  • TWEAK: Escape translated string before rendering.
  • TWEAK: Use wp_unslash() instead of stripslashes().
  • TWEAK: Escape translated string.
  • BUG: Fix restrict path logic.
  • OTHER: Readme tweaks.
  • I18N: Add POT file.
  • I18N: Add Dutch translation.
  • DEV: Update .gitignore to allow PO files.
  • DEV: phpDoc fix.

1.0 09/08/2015

  • Initial release.
    • Complete refactor and restructure of the original code for better design and separation of function to make code base much easier to maintain and extend.
    • Update all third party libraries.
    • Make much better use of the WordPress Settings API.
    • Minified CSS and JS files are used by default. Using SCRIPT_DEBUG will use the un-minified versions.
    • Add substantial amounts of phpDoc for developers.
    • Add many hooks to permit third party integrations.
    • Widget can be affixed/stuck to the page so it is always visible.
    • Widget will highlight the table of content sections that are currently visible in the browser viewport.
    • Widget will now generate table of contents using output from third party shortcodes.
    • Use wpColorPicker instead of farbtastic.
    • Remove all shortcodes.
    • Per post options are saved in post meta instead of set by shortcode.