This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Paragraph Level IDs


The Paragraph Level IDs plugin adds an ‘id’ attribute to each paragraph tag in a blog post, giving the author and readers additional functionality.

So for example, <p> becomes <p id=”para1234-5″>.

These additions allow anyone to link directly to that paragraph in the post. This is especially useful for long tracts of text, academic writing, and legal documents.

Road Map

In the future I hope to make the following improvements.

  • Streamline the code so it is at its most efficient and smallest file size.
  • Further customisation options for the id
  • A degree of backwards compatibility and localisation for other languages
  • An option so this feature is only applied to the post types specified.

I would welcome any advice, offers of support, bug-testing, forking the project and troubleshooting to help make these extra features possible.


My friend @strangerpixel overhauled the 0.2 code for this 1.0 release.

The comment by s_ha_dum in [this Stack Exchange thread] ( and the comment by Milo in [this Stack Exchange thread] ( got me started. The [Add To Post plugin ( was instructive in helping me build a simple settings form.


  1. Download the plug-in
  2. Unzip the files and upload rs-para-level-ids.php to the wp-content/plugins directory.
  3. Visit the plugins section of your WordPress Dashboard.
  4. Activate the plugin
  5. Nothing will be changed in your website’s source code until you visit the ‘Paragraph IDs’ options under the WordPress ‘Settings’ menu, and update the settings according to your taste.


What kind of tags does the plugin operate on?

The plugin only makes additions to <p> tags that have no other attributes. If any other part of the content or system gives a paragraph tag any kind of styling, name or id, then this plugin will simply ignore it.

How are the ids and anchors added?

The id attributes are all added dynamically as the page is generated. The plugin works by counting the number of paragraphs and adding an id or name based on that.

What happens when I change the content of my post?

If the content changes and the author reduces or adds to the number of paragraphs in the text, the anchor or paragraph id will change accordingly.

This plugin therefore works best with archived content that is not likely to change.

I think your plugin could be improved – Would you like some help with it?

Absolutely, I’m at almost the limit of my coding skills here! [Get in touch via my website] ( or on Twitter, [@robertsharp59] (


There are no reviews for this plugin.

Contributors & Developers

“Paragraph Level IDs” is open source software. The following people have contributed to this plugin.


Translate “Paragraph Level IDs” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Simplified the process. Now we offer only ids, not anchors.
  • Added an option to add # links immediately after each paragraph
  • Added an option to add highlight styling to each paragraph tag on hover
  • Many thanks to @strangerpixel for this fantastic update.


  • Added a settings menu
  • Added the ability to add an ‘id’ to the paragraph tags, an anchor, or both
  • anchor/id customisation options.


  • Proof of concept, no features