{"id":73404,"date":"2017-08-28T15:29:32","date_gmt":"2017-08-28T15:29:32","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/wpematico-custom-hooks\/"},"modified":"2026-08-24T19:43:39","modified_gmt":"2026-08-24T19:43:39","slug":"wpematico-custom-hooks","status":"publish","type":"plugin","link":"https:\/\/pt-ao.wordpress.org\/plugins\/wpematico-custom-hooks\/","author":767866,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3","stable_tag":"trunk","tested":"7.1","requires":"4.1","requires_php":"7.0","requires_plugins":null,"header_name":"WPeMatico Custom Hooks","header_author":"etruel","header_description":"WPeMatico Add-on starter point WPeMatico Custom Hooks plugin","assets_banners_color":"db9a3f","last_updated":"2026-08-24 19:43:39","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=B8V39NWK3NFQU","header_plugin_uri":"https:\/\/etruel.com\/downloads\/wpematico-custom-hooks\/","header_author_uri":"https:\/\/www.netmdp.com","rating":3,"author_block_rating":0,"active_installs":40,"downloads":7917,"num_ratings":2,"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":"etruel","date":"2017-08-28 15:29:24"},"1.0.2":{"tag":"1.0.2","author":"etruel","date":"2017-09-07 02:58:44"},"1.1":{"tag":"1.1","author":"etruel","date":"2018-01-31 04:52:58"},"1.1.1":{"tag":"1.1.1","author":"etruel","date":"2018-02-28 03:26:26"},"1.1.2":{"tag":"1.1.2","author":"etruel","date":"2018-10-20 19:34:33"},"1.1.3":{"tag":"1.1.3","author":"etruel","date":"2019-08-21 23:37:51"},"1.2":{"tag":"1.2","author":"etruel","date":"2021-04-29 23:50:18"},"1.3":{"tag":"1.3","author":"etruel","date":"2026-08-24 19:43:39"}},"upgrade_notice":{"":"<p>1.3 * Recommended upgrade.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":1959881,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":1959881,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon-512x512.png":{"filename":"icon-512x512.png","revision":1959881,"resolution":"512x512","location":"assets","locale":"","width":512,"height":512}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":1959881,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":1959881,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1","1.0.2","1.1","1.1.1","1.1.2","1.1.3","1.2","1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3664189,"resolution":"1","location":"plugin","width":1005,"height":513},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3664189,"resolution":"4","location":"plugin","width":1001,"height":519},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3664189,"resolution":"3","location":"plugin","width":1007,"height":503},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3664189,"resolution":"2","location":"plugin","width":1003,"height":509}},"screenshots":{"1":"Settings page.  Fields to fill."}},"plugin_section":[],"plugin_tags":[2957,252,850,145611,145612],"plugin_category":[],"plugin_contributors":[79536,175294,127324],"plugin_business_model":[],"class_list":["post-73404","plugin","type-plugin","status-publish","hentry","plugin_tags-autoblog","plugin_tags-feed","plugin_tags-rss","plugin_tags-wpematico","plugin_tags-wpematico-custom-hooks","plugin_contributors-etruel","plugin_contributors-manuelge","plugin_contributors-sniuk","plugin_committers-etruel"],"banners":{"banner":"https:\/\/ps.w.org\/wpematico-custom-hooks\/assets\/banner-772x250.png?rev=1959881","banner_2x":"https:\/\/ps.w.org\/wpematico-custom-hooks\/assets\/banner-1544x500.png?rev=1959881","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wpematico-custom-hooks\/assets\/icon-128x128.png?rev=1959881","icon_2x":"https:\/\/ps.w.org\/wpematico-custom-hooks\/assets\/icon-256x256.png?rev=1959881","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wpematico-custom-hooks\/trunk\/screenshot-1.png?rev=3664189","caption":"Settings page.  Fields to fill."},{"src":"https:\/\/ps.w.org\/wpematico-custom-hooks\/trunk\/screenshot-2.png?rev=3664189","caption":""},{"src":"https:\/\/ps.w.org\/wpematico-custom-hooks\/trunk\/screenshot-3.png?rev=3664189","caption":""},{"src":"https:\/\/ps.w.org\/wpematico-custom-hooks\/trunk\/screenshot-4.png?rev=3664189","caption":""}],"raw_content":"<!--section=description-->\n<p>WPeMatico Custom Hooks puts WPeMatico's developer API on a screen you can actually work in, and it is completely free.<\/p>\n\n<p>Sooner or later every autoblog needs a rule that no settings page covers: strip a particular block out of the source content, rename images before they are downloaded, skip items that mention a certain word, decide a category from the feed itself, rewrite a title before it is published. WPeMatico fires dozens of hooks for exactly that purpose. This addon lists every one of them for you, each with a description of what it does, the parameters it receives, and a ready made function template.<\/p>\n\n<p>No FTP. No child theme. No snippet buried in a functions.php that the next theme update will wipe. You write the function in a proper code editor, the plugin validates it before it is ever stored, and it runs on your next campaign.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li><strong>Pick a hook.<\/strong> Each entry tells you what it does, whether it is an action or a filter, and which parameters it receives.<\/li>\n<li><strong>Let the template be written for you.<\/strong> One click drops a correctly formed function into the editor, already carrying the right name, signature and return value for that hook.<\/li>\n<li><strong>Write your code.<\/strong> On save it is parsed on the spot, and if anything is wrong you get the exact line and reason before a single character is stored.<\/li>\n<li><strong>Done.<\/strong> It runs from your next campaign onwards.<\/li>\n<\/ol>\n\n<p>The catalogue is not limited to the core. The addon detects which WPeMatico extensions you have active and adds their hooks to the list too, so Professional, Full Content, Polyglot and the rest are covered as well.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>Over 90 hooks catalogued<\/strong>, from WPeMatico core and its extensions, each explained in plain language.<\/li>\n<li><strong>Function templates generated for you<\/strong>, with the correct name, parameters and return value already in place.<\/li>\n<li><strong>A real code editor<\/strong>, with PHP syntax highlighting and selectable colour schemes.<\/li>\n<li><strong>Validated before saving.<\/strong> Your code is parsed in place and is never stored with a syntax error.<\/li>\n<li><strong>Conflict detection<\/strong>, so two hooks can never end up declaring the same function name.<\/li>\n<li><strong>Clear reporting.<\/strong> If something cannot run, you are told which hook and why, with a link straight to it.<\/li>\n<li><strong>Extension aware.<\/strong> Hooks appear automatically when their extension is active, and the code you wrote for an extension is preserved while it is not.<\/li>\n<li><strong>Administrators only.<\/strong> Reaching or saving anything here requires permission to edit plugins or themes.<\/li>\n<\/ul>\n\n<h4>Requirements<\/h4>\n\n<p>This WPeMatico addon requires the WPeMatico base plugin to be installed and activated.\nPHP 7.0 or higher.<\/p>\n\n<!--section=installation-->\n<p>You can either install it automatically from the WordPress admin, or do it manually:<\/p>\n\n<ol>\n<li><p>Unzip plugin file and put the folder into your plugins folder (\/wp-content\/plugins\/).<\/p><\/li>\n<li><p>Activate the plugin from the WPeMatico Extensions menu.<\/p><\/li>\n<\/ol>\n\n<p>1) Decompress it in the WordPress plugins folder to continue with activation. You must first have WPeMatico installed.<\/p>\n\n<p>2) Once installed, go to the WPeMatico menu  - &gt; Configuration<\/p>\n\n<p>3) Then, click on the 'Hooks' tab to go to the main page of the addon<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"can%20i%20use%20this%20addon%20without%20the%20wpematico%20plugin%3F\"><h3>Can I use this addon without the WPeMatico plugin?<\/h3><\/dt>\n<dd><p>No. The addon requires WPeMatico Free Version to be installed and activated.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3 Aug 22, 2026<\/h4>\n\n<p>A major release. The plugin has been reviewed from top to bottom, modernized and made considerably more robust, so that writing your own PHP against WPeMatico is safe and predictable on any hosting.<\/p>\n\n<ul>\n<li><strong>Instant, local syntax checking.<\/strong> Your code is now parsed in place the moment you save, and any mistake is reported with its exact line and reason. The check no longer needs your server to be able to reach itself over HTTP, so it works reliably on every host, including managed and firewalled ones.<\/li>\n<li><strong>Conflict detection while you write.<\/strong> If two hooks would declare a function with the same name, or the name is already taken elsewhere in WordPress, you are told immediately and pointed at the hook that already uses it.<\/li>\n<li><strong>Fault tolerant execution.<\/strong> Should any snippet be unable to run, the plugin now reports it in the admin with a clear explanation and a direct link to edit it, while the rest of your hooks keep working normally.<\/li>\n<li><strong>Your code stays where you put it.<\/strong> Snippets are now bound to their hook by name, so installing, activating or deactivating WPeMatico extensions never shuffles them. Code written for an extension that is currently inactive is preserved instead of being lost.<\/li>\n<li><strong>Smarter function detection.<\/strong> The functions attached to each hook are read from your code itself, so indented, multiple and by-reference declarations are always recognized.<\/li>\n<li><strong>Lighter on every page load.<\/strong> Editor assets are now loaded only on the Hooks screen, and the work done on regular requests has been cut down substantially.<\/li>\n<li><strong>Reviewed hooks catalogue,<\/strong> verified against the current WPeMatico core and its extensions, including hook names and parameter signatures, so every hook offered behaves exactly as described.<\/li>\n<li><strong>Modernized and hardened codebase<\/strong> for current PHP and WordPress versions: stricter capability and input handling on the editor, cleaner translation loading, and no temporary PHP files written to disk.<\/li>\n<\/ul>\n\n<h4>1.2 Apr 29, 2021<\/h4>\n\n<ul>\n<li>Added new filters of WPeMatico and many of its extensions.<\/li>\n<li>Fixes codemirror for rich text code.<\/li>\n<li>Introducing Filters groups to find them easier.<\/li>\n<li>Improved many help tips on filter selection.<\/li>\n<li>Bump WordPress version to 5.7.1<\/li>\n<\/ul>\n\n<h4>1.1.3 Aug 21, 2019<\/h4>\n\n<ul>\n<li>Improves the Settings-&gt;Hooks screens. Now all is more intuitive.<\/li>\n<li>Hide all textareas without codes or filters.<\/li>\n<li>Updated all spanish translations.<\/li>\n<\/ul>\n\n<h4>1.1.2 Oct 19, 2018<\/h4>\n\n<ul>\n<li>Added function filter wpematico_addcat_description filter to change the auto category descriptions.<\/li>\n<li>Added function filter Add filter wpematico_get_item_images.<\/li>\n<li>Fixes function parameter using \"$this-&gt;\".<\/li>\n<li>Fixes an issue in action filters.<\/li>\n<li>Fixes a warning in area code on use tab for indentation.<\/li>\n<\/ul>\n\n<h4>1.1.1 Feb 27, 2018<\/h4>\n\n<ul>\n<li>Added wpematico_imagen_src filter added in wpematico 1.9.1<\/li>\n<\/ul>\n\n<h4>1.1 Jan 31, 2018<\/h4>\n\n<ul>\n<li>Added code highlight with CodeMirror library included in WordPress since version 4.9.<\/li>\n<li>Fixes a bug when WPeMatico saves an image from a running campaign.<\/li>\n<\/ul>\n\n<h4>1.0.2 Sep 4, 2017<\/h4>\n\n<ul>\n<li>Fix plugin text domain to wpematico-custom-hooks.<\/li>\n<li>Added Settings and auxiliary links in the Plugin row.<\/li>\n<li>Added in WordPress Repository.<\/li>\n<\/ul>\n\n<h4>1.0.1 Aug 27, 2017<\/h4>\n\n<ul>\n<li>Tweaks JavaScript and styles only loads in the settings page of the plugin.<\/li>\n<li>Tweaks to limit save and verify code syntax just for user roles with edit_plugins or edit_themes capabilities.<\/li>\n<li>Tweaks on sanitize and escape the form fields and variables to print or save.<\/li>\n<li>Tweaks for JavaScript and styles printed in the php, now have their own files .js and .css.<\/li>\n<li>Fixes the hooks didn't executed when runs manually a campaign in WPeMatico.<\/li>\n<li>Fixes the syntax error checking to avoid execute code in the process.<\/li>\n<li>Fixes to avoid direct accesses to the files.<\/li>\n<li>Removed unuseful comments and examples.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>initial release<\/li>\n<\/ul>","raw_excerpt":"Customize how WPeMatico builds your posts. Write PHP for any of its hooks from the WordPress admin, with a real editor and instant validation.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/73404","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=73404"}],"author":[{"embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/etruel"}],"wp:attachment":[{"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=73404"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=73404"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=73404"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=73404"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=73404"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pt-ao.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=73404"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}