Reusable Text Blocks


This plugin creates a new ‘text-blocks’ custom post type with it’s own section in the WordPress admin sidebar. It uses the standard WordPress user interface so you and your clients will know how to use it instantly.

New in Version 1.5: Variables! You can add {{player}} to your text block content and then pass in ‘player’ to the shortcode: [text-blocks id=”1″ player=”Hal Gatewood”]

You can add it to your site in three ways:

1. Widget

The included widget allows you to specify which block you want to insert. You can also include a title if needed.

2. Widget

[text-blocks id="1"] or [text-blocks id="text_block_slug"]

3. PHP Function

A PHP function has been setup so you do not have to use the do_shortcode function.

<?php if(function_exists('show_text_block')) { echo show_text_block(421); } ?>
<?php if(function_exists('show_text_block')) { echo show_text_block('slug'); } ?>


  • Text Blocks list view, with quick view of content and shortcode.
  • Uses standard WordPress functionality. No surprises, you already know how to use it.
  • Widget included
  • New in 1.4.6: Media Button
  • Create custom templates


An essential plugin... thank you so much


This is an excellent plugin. Why don't you sell it on Code Canyon? It might help you to continue supporting it, if it needs supporting as WordPress evolves. Well done. Great job.

Great tool


I use Page Builder by SiteOrigin. With Text blocks, I can see the title of my block in Page Builder, what is very practical compared to other blocks builders.

Read all 28 reviews



  • Fixed no attribute error


  • Fixed PHP 7 Warnings
  • Added slug=”” parameter when added from Add Block button (helps you know which shortcode block is which)
  • Text Blocks will only show if Published
  • Variables. You can add {{player}} to your text block and then pass in ‘player’ to the shortcode: [text-blocks id=”1″ player=”Hal Gatewood”]


  • Added filter wpml_object_id


  • WP_Widget construct changed


  • Fixed plugin not adhering to the language needed. Thanks @elvi992


  • Added ‘id’ to text_blocks_shortcode_html filter
  • Fixed widget checkboxes with on
  • Added quotes around plain=1


  • Added .pot file, translation ready
  • Removed custom post messages
  • Added filter: ‘text_blocks_post_type_args’
  • Added Media Button to quickly add shortcode to WP Text Editor
  • ‘show_text_block’ now has third parameter that passes all shortcode parameters to the text block, for example: [text-blocks id=”198″ location=”okc”]
  • Create custom templates: text-blocks-{$id}.php, or pass template=”homepage” in your shortcode for text-blocks-homepage.php
  • New checkbox in widget to hide the title


  • Enabled revisions
  • Added filter: ‘text_blocks_show_text_block_id’
  • Tested on WordPress 4.1


  • Fix for error if no content found


  • Moved init into plugins_loaded
  • WordPresss 3.8 testing and icon


  • Post thumbnail support added.


  • Added second parameter to keep out the_content filter and display exactly what is in the content.


  • Display by slug (post_name) or id
  • Slug class added to widget so you can target text-blocks easier with CSS


  • Added ability to set wpautop in widget
  • Also added filter to target widget code: ‘text_blocks_widget_html’


  • Bug in widget select box (Thanks Shaun Forsyth)


  • Small bug fixes


  • Initial load of the plugin.

Contributors & Developers

This is open source software. The following people have contributed to this plugin.


Browse the code