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.

LH Paragraph Ids


LH 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="lh_element_id-p-23463-3">.

Note if an id for an element already exists, it is kept. Also note this is done dynamically so ar no time is the content stored in the database changed.

There is also an optional feature to add a link to the paragraph symbol at the end of the post, like this. ¶ See faq for enabling this.

These additions allow anyone to link directly to that paragraph in the post. This is useful for long tracts of text and is also useful for rdf and semantics (in that these technologies often require identification of parts of a page).

Requires wp_body_open

Note this plugin requires wordpress 5.2 and for your theme to support the wp_body_open hook (most good themes do).

Like this plugin? Please consider leaving a 5-star review.

Love this plugin or want to help the LocalHero Project? Please consider making a donation.


Install using WordPress:

  1. Log in and go to Plugins and click on Add New.
  2. Search for LH Paragraph Ids and hit the Install Now link in the results. WordPress will install it.
  3. From the Plugin Management page in WordPress, activate the Lh Paragraph Ids plugin.
  4. That is it , the plugin has no settings (it just works), but has filters to modify its behaviour, see faq.


How do I enable automatic paragraph links?

By default, automtic paragraph links are turned off, they can be turned on by a filter like this:

add_filter(‘lh_paragraph_ids_link_enabled’, function(){
//Do something with the content
return true;

What happens if I deactiavte this plugin?

The plugin does not add anything to the content stored in the database, all attributes are added dynamically by the plugin. So you can safely deactivate the plugion if you no longer want the functionality it enables

Can you give me some examples of sites running this plugin?

The LocalHero project website and the Melbourne touch rugby association I founded both run on the same multisite that uses this plugin.

What is something does not work?

LH Paragraph Ids, and all LocalHero plugins are made to WordPress standards. Therefore they should work with all well coded plugins and themes. However not all plugins and themes are well coded (and this includes many popular ones).

If something does not work properly, firstly deactivate ALL other plugins and switch to one of the themes that come with core, e.g. twentyfirteen, twentysixteen etc.

If the problem persists please leave a post in the support forum: I look there regularly and resolve most queries.

What if I need a feature that is not in the plugin?

Please contact me for custom work and enhancements here:


There are no reviews for this plugin.

Contributors & Developers

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


Translate “LH Paragraph Ids” into your language.

Interested in development?

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


0.01 July 29, 2014
Initial release.

0.02 April 29, 2015
Only filter content on front end

1.00 July 13, 2015
Object oriented code

2.00 August 07, 2022
Removed settings, improved and simplified