{"id":395674,"date":"2026-10-29T23:16:02","date_gmt":"2026-10-29T23:16:02","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/horde-trace\/"},"modified":"2026-10-29T23:15:32","modified_gmt":"2026-10-29T23:15:32","slug":"horde-trace","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/horde-trace\/","author":23596010,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Horde Trace","header_author":"Horde","header_description":"Click any text, image or link on your site and see where it comes from and where to edit it: the page editor, a template file, a widget, a menu, a shortcode or a setting.","assets_banners_color":"9da4ac","last_updated":"2026-10-29 23:15:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/hordewp.com\/trace\/","header_author_uri":"https:\/\/hordewp.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":50,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"hordewp","date":"2026-10-29 23:15:32","revision":3774166}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3774166,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3774166,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3774166,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3774166,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{"blueprint.json":{"filename":"blueprint.json","revision":3774166,"resolution":false,"location":"assets","locale":"","contents":"{\"$schema\":\"https:\\\/\\\/playground.wordpress.net\\\/blueprint-schema.json\",\"meta\":{\"title\":\"Horde Trace demo\",\"author\":\"hordewp\"},\"landingPage\":\"\\\/try-horde-trace\\\/\",\"preferredVersions\":{\"php\":\"8.2\",\"wp\":\"latest\"},\"steps\":[{\"step\":\"login\",\"username\":\"admin\",\"password\":\"password\"},{\"step\":\"installPlugin\",\"pluginData\":{\"resource\":\"wordpress.org\\\/plugins\",\"slug\":\"horde-trace\"},\"options\":{\"activate\":true}},{\"step\":\"mkdir\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\"},{\"step\":\"writeFile\",\"path\":\"\\\/wordpress\\\/wp-content\\\/mu-plugins\\\/horde-trace-demo.php\",\"data\":\"<?php\\n\\\/**\\n * Horde Trace live demo helpers (WordPress Playground only).\\n *\\n * Switches Trace on the first time the demo opens, so visitors can start\\n * clicking straight away, and adds a sample shortcode for Trace to find.\\n *\\\/\\n\\nadd_action(\\n\\t'init',\\n\\tfunction () {\\n\\t\\tif ( isset( $_COOKIE['horde_trace_demo'] ) || ! is_user_logged_in() ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\t\\tsetcookie( 'horde_trace_demo', '1', time() + DAY_IN_SECONDS, '\\\/' );\\n\\t\\tsetcookie( 'horde_trace', '1', time() + DAY_IN_SECONDS, '\\\/' );\\n\\t\\t$_COOKIE['horde_trace'] = '1';\\n\\t},\\n\\t1\\n);\\n\\nadd_shortcode(\\n\\t'opening_hours',\\n\\tfunction () {\\n\\t\\treturn '<p>Open Tuesday to Saturday, 7am to 3pm. Closed Sundays and Mondays.<\\\/p>';\\n\\t}\\n);\\n\"},{\"step\":\"runPHP\",\"code\":\"<?php\\n\\\/**\\n * Builds the demo site: an example bakery with content in the places Trace\\n * looks (page editor, synced pattern, shortcode, menu, settings, theme files).\\n *\\\/\\n\\nrequire '\\\/wordpress\\\/wp-load.php';\\n\\nupdate_option( 'blogname', 'Example Bakery' );\\nupdate_option( 'blogdescription', 'Fresh bread every morning (a Horde Trace demo site)' );\\n\\n$pattern = wp_insert_post(\\n\\tarray(\\n\\t\\t'post_type'    => 'wp_block',\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_title'   => 'Order ahead banner',\\n\\t\\t'post_content' => \\\"<!-- wp:paragraph -->\\\\n<p><strong>Order ahead for pickup.<\\\/strong> Birthday orders need 48 hours' notice.<\\\/p>\\\\n<!-- \\\/wp:paragraph -->\\\",\\n\\t)\\n);\\n\\n$content = <<<HTML\\n<!-- wp:heading -->\\n<h2 class=\\\"wp-block-heading\\\">Click anything on this page<\\\/h2>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:paragraph -->\\n<p>Horde Trace is switched on. Click any text on this page, including the site title, the menu and the footer, and Trace shows where it comes from and where to edit it.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\n\\n<!-- wp:heading {\\\"level\\\":3} -->\\n<h3 class=\\\"wp-block-heading\\\">Things to try<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:list -->\\n<ul class=\\\"wp-block-list\\\"><!-- wp:list-item -->\\n<li>This list, which is saved in the page editor<\\\/li>\\n<!-- \\\/wp:list-item -->\\n\\n<!-- wp:list-item -->\\n<li>The opening hours and the order-ahead banner below<\\\/li>\\n<!-- \\\/wp:list-item -->\\n\\n<!-- wp:list-item -->\\n<li>The menu links at the top, and the credit line at the very bottom of the footer<\\\/li>\\n<!-- \\\/wp:list-item --><\\\/ul>\\n<!-- \\\/wp:list -->\\n\\n<!-- wp:heading {\\\"level\\\":3} -->\\n<h3 class=\\\"wp-block-heading\\\">Opening hours<\\\/h3>\\n<!-- \\\/wp:heading -->\\n\\n<!-- wp:shortcode -->\\n[opening_hours]\\n<!-- \\\/wp:shortcode -->\\n\\n<!-- wp:block {\\\"ref\\\":{$pattern}} \\\/-->\\n\\n<!-- wp:paragraph -->\\n<p>Click <strong>Trace: on<\\\/strong> in the admin bar to switch Trace off and use the site normally.<\\\/p>\\n<!-- \\\/wp:paragraph -->\\nHTML;\\n\\nwp_insert_post(\\n\\tarray(\\n\\t\\t'post_type'    => 'page',\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_title'   => 'Try Horde Trace',\\n\\t\\t'post_name'    => 'try-horde-trace',\\n\\t\\t'post_content' => $content,\\n\\t)\\n);\\n\\nwp_insert_post(\\n\\tarray(\\n\\t\\t'post_type'    => 'wp_navigation',\\n\\t\\t'post_status'  => 'publish',\\n\\t\\t'post_title'   => 'Main menu',\\n\\t\\t'post_content' => '<!-- wp:navigation-link {\\\"label\\\":\\\"Our bread\\\",\\\"url\\\":\\\"#bread\\\",\\\"kind\\\":\\\"custom\\\"} \\\/--><!-- wp:navigation-link {\\\"label\\\":\\\"Cakes\\\",\\\"url\\\":\\\"#cakes\\\",\\\"kind\\\":\\\"custom\\\"} \\\/--><!-- wp:navigation-link {\\\"label\\\":\\\"Visit us\\\",\\\"url\\\":\\\"#visit\\\",\\\"kind\\\":\\\"custom\\\"} \\\/-->',\\n\\t)\\n);\\n\"}]}"}},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3774166,"resolution":"1","location":"assets","locale":"","width":1280,"height":800},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3774166,"resolution":"2","location":"assets","locale":"","width":1280,"height":800},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3774166,"resolution":"3","location":"assets","locale":"","width":1280,"height":800},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3774166,"resolution":"4","location":"assets","locale":"","width":1280,"height":360}},"screenshots":{"1":"Click any text and Trace shows where it comes from. These opening hours are printed by a shortcode.","2":"Text saved in a synced pattern, with a link straight to the pattern editor.","3":"A menu link: the link, the navigation block, the header template part and the saved menu.","4":"Classic themes work too. This text lives in a widget in the footer widget area."}},"plugin_section":[],"plugin_tags":[2275,2239,270221,289610,975],"plugin_category":[43],"plugin_contributors":[289611],"plugin_business_model":[],"class_list":["post-395674","plugin","type-plugin","status-publish","hentry","plugin_tags-developer","plugin_tags-edit","plugin_tags-find-text","plugin_tags-inherited-site","plugin_tags-template","plugin_category-customization","plugin_contributors-hordewp","plugin_committers-hordewp"],"banners":{"banner":"https:\/\/ps.w.org\/horde-trace\/assets\/banner-772x250.png?rev=3774166","banner_2x":"https:\/\/ps.w.org\/horde-trace\/assets\/banner-1544x500.png?rev=3774166","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/horde-trace\/assets\/icon-128x128.png?rev=3774166","icon_2x":"https:\/\/ps.w.org\/horde-trace\/assets\/icon-256x256.png?rev=3774166","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/horde-trace\/assets\/screenshot-1.png?rev=3774166","caption":"Click any text and Trace shows where it comes from. These opening hours are printed by a shortcode."},{"src":"https:\/\/ps.w.org\/horde-trace\/assets\/screenshot-2.png?rev=3774166","caption":"Text saved in a synced pattern, with a link straight to the pattern editor."},{"src":"https:\/\/ps.w.org\/horde-trace\/assets\/screenshot-3.png?rev=3774166","caption":"A menu link: the link, the navigation block, the header template part and the saved menu."},{"src":"https:\/\/ps.w.org\/horde-trace\/assets\/screenshot-4.png?rev=3774166","caption":"Classic themes work too. This text lives in a widget in the footer widget area."}],"raw_content":"<!--section=description-->\n<p>You change a sentence in the page editor, save, refresh, and the old sentence is still there. It lives somewhere else: a template file, a widget, a menu, a shortcode, a synced pattern or a theme setting.<\/p>\n\n<p>Horde Trace finds it. Switch Trace on from the admin bar, click the thing you want to change, and Trace shows where it comes from, with a link straight to the screen where you can edit it.<\/p>\n\n<p><strong>What Trace can find<\/strong><\/p>\n\n<ul>\n<li>Blocks, and the page, post or synced pattern they're saved in<\/li>\n<li>Site editor template parts and navigation menus (block themes)<\/li>\n<li>Widgets, and the widget area they're in<\/li>\n<li>Classic menus, by menu and item<\/li>\n<li>Shortcodes, and the plugin or theme that registered them<\/li>\n<li>Text hardcoded in theme files, with the file name and line number<\/li>\n<li>Site title, tagline, Customizer settings and other stored settings<\/li>\n<li>Text saved in custom fields and page builder layouts<\/li>\n<\/ul>\n\n<p><strong>Built to stay out of the way<\/strong><\/p>\n\n<ul>\n<li>Only administrators who switch it on see anything. Visitors never load any of it.<\/li>\n<li>Read-only. Trace never changes, moves or deletes anything.<\/li>\n<li>Nothing is sent anywhere. Everything runs on your own site.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Install Horde Trace from Plugins \u2192 Add New, or upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate it.<\/li>\n<li>While logged in as an administrator, open any page on your site and click <strong>Trace<\/strong> in the admin bar.<\/li>\n<li>Click the text, image or link you want to change. Trace shows where it comes from.<\/li>\n<li>Click <strong>Trace: on<\/strong> in the admin bar, or <strong>Turn Trace off<\/strong> in the panel, when you're done.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20trace%20slow%20my%20site%20down%3F\"><h3>Will Trace slow my site down?<\/h3><\/dt>\n<dd><p>No. Trace only runs for a logged-in administrator who has switched it on, and only in that browser. For everyone else, it does nothing.<\/p><\/dd>\n<dt id=\"why%20won%27t%20links%20open%20while%20trace%20is%20on%3F\"><h3>Why won't links open while Trace is on?<\/h3><\/dt>\n<dd><p>While Trace is on, a click means \"where does this come from?\" Turn Trace off from the admin bar or the panel to use the site normally.<\/p><\/dd>\n<dt id=\"who%20can%20use%20trace%3F\"><h3>Who can use Trace?<\/h3><\/dt>\n<dd><p>Users who can manage themes (administrators on most sites). Everyone else, including visitors, never sees or loads it.<\/p><\/dd>\n<dt id=\"does%20trace%20collect%20or%20send%20any%20data%3F\"><h3>Does Trace collect or send any data?<\/h3><\/dt>\n<dd><p>No. Trace makes no outside requests and stores nothing except a cookie in your own browser that remembers Trace is switched on. The cookie expires after a day.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20page%20builders%3F\"><h3>Does it work with page builders?<\/h3><\/dt>\n<dd><p>Trace finds text saved in Elementor, Divi, Beaver Builder and Bricks layouts by searching them. Clicking straight to the builder element is planned for Trace Pro.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Fixed: the panel heading and buttons could pick up the theme's heading and button styles.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First public release.<\/li>\n<\/ul>\n\n<h4>0.1.0<\/h4>\n\n<ul>\n<li>First version: click mode, block, widget, menu and shortcode markers, and search across theme files, settings, content and custom fields.<\/li>\n<\/ul>","raw_excerpt":"Click any text, image or link on your site and see where it comes from and where to edit it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/395674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=395674"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/hordewp"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=395674"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=395674"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=395674"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=395674"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=395674"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=395674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}