We'll create fresh WordPress site with Text Replace installed. You have 20 minutes to test the plugin after that site we'll be deleted.
This plugin allows you to easily define text or HTML that should be used in your posts in place of words or phrases that are actually present in the posts. This is a handy technique for creating shortcuts to common, lengthy, or frequently changing text/HTML, or for smilies.
Additional features of the plugin controlled both via settings and filters:
A few things to keep these things in mind:
Your best bet with defining shortcuts is to define something that would never otherwise appear in your text. For instance, bookend the shortcut with colons:
:wp: => WordPress
:aol: => America Online, Inc.
Otherwise, you risk proper but undesired replacements:
Hi => Hello
Would have the effect of changing “His majesty” to “Hellos majesty”.
If you intend to use this plugin to handle smilies, you should probably disable WordPress’s default smilie handler on the Writing Settings admin page.
This plugin is set to filter ‘the_content’, ‘the_excerpt’, ‘widget_text’, and optionally, ‘get_comment_text’ and ‘get_comment_excerpt’. Filters from popular plugins such as Advanced Custom Fields (ACF) and Elementor are also handled by default (see FAQ for specifics). The “More filters” setting can be used to specify additional filters that should be handled by the plugin. The filter ‘c2c_text_replace_filters’ can also be used to add or modify the list of filters affected.
Text inside of HTML tags (such as tag names and attributes) will not be matched. So, for example, you can’t expect the :mycss: shortcut to work in <a href="" style=":mycss:">text</a>
SPECIAL CONSIDERATION: Be aware that the shortcut text that you use in your posts will be stored that way in the database. While calls to display the posts will see the filtered, text-replaced version, anything that operates directly on the database will not see the expanded replacement text. So if you only ever referred to “America Online” as “:aol:” (where :aol: => <a href='http://www.aol.com'>America Online</a>
), visitors to your site will see the linked, expanded text due to the text replace, but a database search would never turn up a match for “America Online”.
However, a benefit of the replacement text not being saved to the database and instead evaluated when the data is being loaded into a web page is that if the replacement text is modified, all pages making use of the shortcut will henceforth use the updated replacement text.
Links: Plugin Homepage | Plugin Directory Page | GitHub | Author Homepage
Developer documentation can be found in DEVELOPER-DOCS.md. That documentation covers the numerous hooks provided by the plugin. Those hooks are listed below to provide an overview of what’s available.
c2c_text_replace_filters
: Customize what hooks get text replacement applied to them.c2c_text_replace_third_party_filters
: Customize what third-party hooks get text replacement applied to them.c2c_text_replace_filter_priority
: Override the default priority for the ‘c2c_text_replace’ filter.c2c_text_replace
Customize or override the setting defining all of the text replacement shortcuts and their replacements.c2c_text_replace_comments
: Customize or override the setting indicating if text replacement should be enabled in comments.c2c_text_replace_case_sensitive
: Customize or override the setting indicating if text replacement should be case sensitive.c2c_text_replace_once
: Customize or override the setting indicating if text replacement should be limited to once per term per piece of text being processed regardless of how many times the term appears.