{"id":236385,"date":"2025-06-21T17:23:55","date_gmt":"2025-06-21T17:23:55","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/string-replacer\/"},"modified":"2025-12-08T08:39:02","modified_gmt":"2025-12-08T08:39:02","slug":"string-replacer","status":"publish","type":"plugin","link":"https:\/\/twd.wordpress.org\/plugins\/string-replacer\/","author":21139038,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.4.3","stable_tag":"1.4.3","tested":"6.9.4","requires":"5.0","requires_php":"7.2","requires_plugins":null,"header_name":"String Replacer","header_author":"Ionut Baldazar","header_description":"Replace visible and email strings via admin.","assets_banners_color":"2480a0","last_updated":"2025-12-08 08:39:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/baiatulutata\/string-replacer","header_author_uri":"https:\/\/woomag.ro\/","rating":5,"author_block_rating":0,"active_installs":100,"downloads":1011,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.4":{"tag":"1.4","author":"baiatulutata","date":"2025-06-21 17:23:42"},"1.4.1":{"tag":"1.4.1","author":"baiatulutata","date":"2025-06-22 18:19:09"},"1.4.2":{"tag":"1.4.2","author":"baiatulutata","date":"2025-06-29 09:56:45"},"1.4.3":{"tag":"1.4.3","author":"baiatulutata","date":"2025-12-08 08:39:02"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":2},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3313494,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3313494,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3313494,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3313494,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.4","1.4.1","1.4.2","1.4.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3313478,"resolution":"1","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[55663,5860,170424,29822,2333],"plugin_category":[48],"plugin_contributors":[243911],"plugin_business_model":[],"class_list":["post-236385","plugin","type-plugin","status-publish","hentry","plugin_tags-admin-tool","plugin_tags-content-filter","plugin_tags-email-filter","plugin_tags-string-replace","plugin_tags-translation","plugin_category-language-tools","plugin_contributors-baiatulutata","plugin_committers-baiatulutata"],"banners":{"banner":"https:\/\/ps.w.org\/string-replacer\/assets\/banner-772x250.png?rev=3313494","banner_2x":"https:\/\/ps.w.org\/string-replacer\/assets\/banner-1544x500.png?rev=3313494","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/string-replacer\/assets\/icon-128x128.png?rev=3313494","icon_2x":"https:\/\/ps.w.org\/string-replacer\/assets\/icon-256x256.png?rev=3313494","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/string-replacer\/assets\/screenshot-1.png?rev=3313478","caption":""}],"raw_content":"<!--section=description-->\n<p>String Replacer lets you define pairs of strings to search and replace across your WordPress site \u2014 including content, post titles, footer text, and outgoing emails. It works instantly and includes a simple admin interface for managing replacements.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Replace strings in:\n\n<ul>\n<li>Post <strong>titles<\/strong><\/li>\n<li>Post <strong>content<\/strong><\/li>\n<li>Site-wide output (e.g., <strong>footer<\/strong>, <strong>widgets<\/strong>, etc.)<\/li>\n<li>Outgoing <strong>emails<\/strong> (<code>wp_mail()<\/code>)<\/li>\n<\/ul><\/li>\n<li>Simple <strong>admin UI<\/strong> with:\n\n<ul>\n<li>Add\/remove rows<\/li>\n<li>Live search<\/li>\n<li>Pagination<\/li>\n<\/ul><\/li>\n<li>Replaces email addresses and works inside <code>mailto:<\/code> links<\/li>\n<li><strong>Preserves leading and trailing spaces<\/strong> in replacement strings<\/li>\n<li>Supports multilingual and branding replacement use cases<\/li>\n<li>Fully local, compliant with WordPress plugin guidelines<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<ol>\n<li>In the admin screen, add one or more rows:\n\n<ul>\n<li>\"Original String\" (e.g., <code>Hello<\/code>)<\/li>\n<li>\"Replacement String\" (e.g., <code>Bonjour<\/code>)<\/li>\n<\/ul><\/li>\n<li>Save your changes.<\/li>\n<li>The plugin will handle replacements in frontend output and emails automatically.<\/li>\n<\/ol>\n\n<h3>Examples<\/h3>\n\n<ul>\n<li>Replace <code>support@oldsite.com<\/code> \u2192 <code>help@newbrand.com<\/code><\/li>\n<li>Replace <code>Hello<\/code> \u2192 <code>Bonjour<\/code><\/li>\n<li>Replace <code>ACME Inc.<\/code> \u2192 <code>NewCorp<\/code><\/li>\n<li>Replace <code>\"Hello \"<\/code> (with a space) \u2192 <code>\"Hi \"<\/code> (space preserved)<\/li>\n<\/ul>\n\n<h3>Filters &amp; Extensibility<\/h3>\n\n<p>This plugin hooks into:\n- <code>the_title<\/code> and <code>the_content<\/code>\n- <code>template_redirect<\/code> output buffering\n- <code>wp_mail<\/code> filter (subject, message, and headers)<\/p>\n\n<p>Developers can use <code>STRIRE_replace_strings( $text )<\/code> to apply replacements manually in custom contexts.<\/p>\n\n<h3>Author<\/h3>\n\n<p>Created by <strong>Ionut Baldazar<\/strong>\nGitHub: https:\/\/github.com\/baiatulutata\nEmail: baiatulutata@woomag.ro<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin to <code>\/wp-content\/plugins\/<\/code>, or install via the WordPress Plugin Directory.<\/li>\n<li>Activate it via the 'Plugins' screen.<\/li>\n<li>Navigate to <strong>Settings \u2192 String Replacer<\/strong> to add your string pairs.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='will%20it%20work%20with%20custom%20post%20types%20or%20woocommerce%3F'><h3>Will it work with custom post types or WooCommerce?<\/h3><\/dt>\n<dd><p>Yes, any output that uses <code>the_title<\/code> or <code>the_content<\/code> filters, or appears in final HTML output, will be processed. This includes many plugins.<\/p><\/dd>\n<dt id='will%20it%20replace%20strings%20in%20dynamic%20javascript%20or%20ajax%20responses%3F'><h3>Will it replace strings in dynamic JavaScript or AJAX responses?<\/h3><\/dt>\n<dd><p>No, it only replaces visible strings rendered in HTML or passed through known filters.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Added support for preserving leading\/trailing whitespace in string replacements<\/li>\n<li>Improved sanitization logic using <code>wp_unslash()<\/code><\/li>\n<li>Updated plugin description and feature list<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Changed contact information in readme files<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Various fixes to get the plugin approved in the directory<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Fixed Out of Date Libraries<\/li>\n<li>Allowing Direct File Access to plugin files<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added <code>wp_mail<\/code> support for replacing strings in emails<\/li>\n<li>Added search, pagination, and better sanitization in the admin grid<\/li>\n<li>Localized all scripts and removed CDN dependencies for WP.org compliance<\/li>\n<\/ul>","raw_excerpt":"Replace any string visible to site visitors or found in outgoing emails\u2014titles, content, footers, and more. Comes with a dynamic admin interface.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/236385","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=236385"}],"author":[{"embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/baiatulutata"}],"wp:attachment":[{"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=236385"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=236385"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=236385"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=236385"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=236385"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/twd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=236385"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}