{"id":251494,"date":"2025-09-17T05:16:21","date_gmt":"2025-09-17T05:16:21","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/hook-locator\/"},"modified":"2025-10-14T06:50:02","modified_gmt":"2025-10-14T06:50:02","slug":"hook-locator","status":"publish","type":"plugin","link":"https:\/\/azb.wordpress.org\/plugins\/hook-locator\/","author":23146820,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.0","stable_tag":"1.0","tested":"6.8.5","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"Hook Locator","header_author":"Jaydip Ahir","header_description":"Search and analyze WordPress hook usage in plugins and themes directly from the admin panel. Perfect for developers debugging hooks and understanding WordPress execution flow.","assets_banners_color":"e2d3f2","last_updated":"2025-10-14 06:50:02","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/hook-locator\/","header_author_uri":"https:\/\/profiles.wordpress.org\/jdahir0789\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":292,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"jdahir0789","date":"2025-10-14 06:50:02"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3362887,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3362887,"resolution":"256x256","location":"assets","locale":""},"icon-512x512.png":{"filename":"icon-512x512.png","revision":3362887,"resolution":"512x512","location":"assets","locale":""}},"assets_banners":{"banner-1544x500-rtl.jpg":{"filename":"banner-1544x500-rtl.jpg","revision":3362882,"resolution":"1544x500","location":"assets","locale":""},"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3362882,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250-rtl.jpg":{"filename":"banner-772x250-rtl.jpg","revision":3362882,"resolution":"772x250","location":"assets","locale":""},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3362882,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3362882,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3362882,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3362882,"resolution":"3","location":"assets","locale":""}},"screenshots":{"1":"Main Search Interface \u2013 Modern search form with plugin\/theme selection","2":"Search Results \u2013 Table view with file names, line numbers, and hook types","3":"Code Analysis \u2013 Highlighted view of hook usage in context","4":"Hook Type Detection \u2013 Color-coded badges for different hook functions","5":"Mobile Responsive \u2013 Works on desktops, tablets, and mobile devices"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[2423,94,2755,2452,944],"plugin_category":[59],"plugin_contributors":[235992],"plugin_business_model":[],"class_list":["post-251494","plugin","type-plugin","status-publish","hentry","plugin_tags-actions","plugin_tags-debug","plugin_tags-filters","plugin_tags-hook","plugin_tags-search","plugin_category-utilities-and-tools","plugin_contributors-jdahir0789","plugin_committers-jdahir0789"],"banners":{"banner":"https:\/\/ps.w.org\/hook-locator\/assets\/banner-772x250-rtl.jpg?rev=3362882","banner_2x":"https:\/\/ps.w.org\/hook-locator\/assets\/banner-1544x500-rtl.jpg?rev=3362882","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/hook-locator\/assets\/icon-128x128.png?rev=3362887","icon_2x":"https:\/\/ps.w.org\/hook-locator\/assets\/icon-256x256.png?rev=3362887","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/hook-locator\/assets\/screenshot-1.png?rev=3362882","caption":"Main Search Interface \u2013 Modern search form with plugin\/theme selection"},{"src":"https:\/\/ps.w.org\/hook-locator\/assets\/screenshot-2.png?rev=3362882","caption":"Search Results \u2013 Table view with file names, line numbers, and hook types"},{"src":"https:\/\/ps.w.org\/hook-locator\/assets\/screenshot-3.png?rev=3362882","caption":"Code Analysis \u2013 Highlighted view of hook usage in context"}],"raw_content":"<!--section=description-->\n<p><strong>Hook Locator<\/strong> is a fast, developer-friendly tool to <strong>search and analyze WordPress hooks<\/strong> in any theme or plugin. Instantly find <code>add_action<\/code>, <code>add_filter<\/code>, <code>do_action<\/code>, <code>apply_filters<\/code>, and more \u2014 with file paths, line numbers, and code highlights.<\/p>\n\n<h3>Perfect For<\/h3>\n\n<ul>\n<li>Plugin &amp; theme developers  <\/li>\n<li>Site maintainers debugging conflicts  <\/li>\n<li>Code auditors and security reviewers  <\/li>\n<li>WordPress learners exploring hook usage<\/li>\n<\/ul>\n\n<h3>Why Hook Locator<\/h3>\n\n<p>Unlike runtime hook capture tools, Hook Locator performs <strong>static code analysis<\/strong>, giving <strong>accurate and secure<\/strong> results without affecting performance.<\/p>\n\n<h3>Advanced Usage<\/h3>\n\n<h3>Keyboard Shortcuts<\/h3>\n\n<ul>\n<li><strong>Ctrl\/Cmd + K<\/strong> \u2013 Focus search input  <\/li>\n<li><strong>Ctrl\/Cmd + Enter<\/strong> \u2013 Run search  <\/li>\n<li><strong>Escape<\/strong> \u2013 Clear search input  <\/li>\n<li><strong>Click snippets<\/strong> \u2013 Copy to clipboard  <\/li>\n<\/ul>\n\n\n\n<h3>Privacy<\/h3>\n\n<ul>\n<li>No personal data collection  <\/li>\n<li>No external API requests  <\/li>\n<li>No analytics, tracking, or cookies  <\/li>\n<li>Admin-only usage  <\/li>\n<\/ul>\n\n\n\n<h3>Support<\/h3>\n\n<p>Need help?<\/p>\n\n<ul>\n<li>WordPress.org support forums  <\/li>\n<li>Inline documentation and tooltips in the admin panel  <\/li>\n<\/ul>\n\n<p>Hook Locator is actively maintained and tested with the latest WordPress releases. We welcome feedback and feature requests!<\/p>\n\n<!--section=installation-->\n<h3>Automatic<\/h3>\n\n<ol>\n<li>Go to <strong>Plugins &gt; Add New<\/strong><\/li>\n<li>Search for <strong>Hook Locator<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong> \u2192 <strong>Activate<\/strong><\/li>\n<\/ol>\n\n<h3>Manual<\/h3>\n\n<ol>\n<li>Upload the ZIP via <strong>Plugins &gt; Add New &gt; Upload<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<\/ol>\n\n<h3>Getting Started<\/h3>\n\n<p>Go to <strong>Tools &gt; Hook Locator<\/strong> to start searching hooks.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id='does%20this%20affect%20my%20site%20performance%3F'><h3>Does this affect my site performance?<\/h3><\/dt>\n<dd><p>No! Hook Locator only runs in the WordPress admin when you actively search. There's no frontend code or background processing that affects your site's performance.<\/p><\/dd>\n<dt id='what%20file%20types%20does%20it%20search%3F'><h3>What file types does it search?<\/h3><\/dt>\n<dd><p>Hook Locator searches only PHP files (.php) since WordPress hooks are PHP-based. It automatically skips other file types for optimal performance.<\/p><\/dd>\n<dt id='can%20i%20search%20for%20custom%20hooks%3F'><h3>Can I search for custom hooks?<\/h3><\/dt>\n<dd><p>Absolutely! Hook Locator finds any hook name you specify, including custom hooks created by plugins, themes, or your own code.<\/p><\/dd>\n<dt id='is%20it%20safe%20to%20use%20on%20production%20sites%3F'><h3>Is it safe to use on production sites?<\/h3><\/dt>\n<dd><p>Yes, Hook Locator is completely safe for production use. It only reads files and never modifies any code. All operations are restricted to users with administrator privileges.<\/p><\/dd>\n<dt id='does%20it%20work%20with%20multisite%3F'><h3>Does it work with multisite?<\/h3><\/dt>\n<dd><p>Yes, Hook Locator works perfectly with WordPress multisite installations. Each site can use it independently to analyze their specific plugins and themes.<\/p><\/dd>\n<dt id='can%20i%20export%20the%20search%20results%3F'><h3>Can I export the search results?<\/h3><\/dt>\n<dd><p>Currently, you can copy individual code snippets to your clipboard. Future versions may include CSV\/JSON export functionality based on user feedback.<\/p><\/dd>\n<dt id='what%27s%20the%20difference%20from%20other%20hook%20plugins%3F'><h3>What's the difference from other hook plugins?<\/h3><\/dt>\n<dd><p>Hook Locator focuses on static code analysis rather than runtime hook capture. This makes it more accurate, secure, and performant while providing deeper code insights.<\/p>\n\n<\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release with full hook scanning and analysis<\/li>\n<li>Plugin and theme directory dropdowns with optgroups  <\/li>\n<li>Improved code highlighting with better contrast  <\/li>\n<li>Secure coding with nonce checks and sanitization  <\/li>\n<li>Fully WordPress coding standards compliant (PHPCS\/WPCS)  <\/li>\n<li>Optimized file scanning with smart resource management  <\/li>\n<li>Professional admin UI with WordPress styling  <\/li>\n<\/ul>","raw_excerpt":"Powerful WordPress hook search and analysis tool. Instantly find and analyze actions, filters, and custom hooks across all plugins and themes.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/251494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=251494"}],"author":[{"embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/jdahir0789"}],"wp:attachment":[{"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=251494"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=251494"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=251494"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=251494"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=251494"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/azb.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=251494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}