Kainoto Webhook for Contact Form 7
Kainoto Webhook for Contact Form 7 is a lightweight WordPress plugin that extends Contact Form 7 functionality by sending form submission data to specified webhook URLs. The plugin operates asynchronously, ensuring your website’s performance isn’t affected by external API response times. Key Features Asynchronous Processing: Sends webhook data without waiting for response, maintaining optimal site performance Easy Configuration: Simple webhook URL setup directly in Contact Form 7 admin panel JSON Format: Sends form data in clean JSON format for easy processing URL Validation: Built-in validation ensures only proper URLs are accepted No Response Dependency: Fire-and-forget approach prevents external service issues from affecting your forms Lightweight: Minimal code footprint with no unnecessary bloat Perfect For CRM integrations Email marketing services Custom analytics tracking Third-party notification systems API-based workflow automation Real-time data synchronization How It Works Install and activate the plugin Edit any Contact Form 7 form Navigate to the new “Webhook” tab Enter your webhook URL Save the form That’s it! Now every form submission will automatically send the data to your specified webhook URL in JSON format. Technical Details Hooks into Contact Form 7’s submission process after validation but before email sending Sends POST requests with JSON payload containing all form field data Uses WordPress HTTP API for reliable delivery 15-second timeout with non-blocking execution Sanitizes and validates all webhook URLs Developer Information Hooks and Filters The plugin provides several hooks for developers: wpcf7_editor_panels – Adds the webhook panel to CF7 admin wpcf7_save_contact_form – Saves webhook settings wpcf7_submit – Sends webhook data after form submission Code Example `php // Example webhook endpoint (PHP) $json = file_get_contents(‘php://input’); $data = json_decode($json, true); // Process form data foreach($data as $field => $value) { // Handle each form field error_log(“Field: $field, Value: $value”); } ` Support For technical support, feature requests, or bug reports, please visit: https://kainoto.com Privacy Policy This plugin does not collect, store, or transmit any personal data beyond what is explicitly submitted through Contact Form 7. All data handling is controlled by your webhook endpoint configuration.
REST API blocks
A simple plugin to add block data in json format into the rest api. Once installed, there will be two new fields added to the rest api, has_blocks and blocks. For example output. "has_blocks": true, "block_data": [ { "blockName": "core/image", "attrs": { "url": "https://www.spacedmonkey.com/wp-content/uploads/2018/12/test-image.jpg", "alt": "Terminal de aeropuerto", "caption": "fsfsdfdsfdssfd", "href": "https://www.spacedmonkey.com/test-image", "rel": "noreferrer noopener", "linkClass": "jonny-123", "linkTarget": "_blank", "id": 147355, "width": 582, "height": 327, "linkDestination": "attachment" }, "innerBlocks": [ ], "innerHTML": "\n fsfsdfdsfdssfd \n", "innerContent": [ "\n fsfsdfdsfdssfd \n" ], "rendered": "\n fsfsdfdsfdssfd \n" } ], Technical Notes Requires PHP 5.6+. Requires WordPress 5.5+. Issues and Pull requests welcome on the GitHub repository: https://github.com/spacedmonkey/wp-rest-blocks Development This plugin uses @wordpress/env for local development and testing. Prerequisites Node.js 20+ and npm Docker Desktop (must be installed and running) Setup Clone the repository Install dependencies: bash npm install composer install Start the WordPress environment: bash npm run env:start This will start a local WordPress instance at http://localhost:8888 (admin: http://localhost:8888/wp-admin with username admin and password password) Note: Docker must be running for this to work. The first time you run this, it will download WordPress and set up the database, which may take a few minutes. Available Commands npm run env:start – Start the WordPress environment npm run env:stop – Stop the WordPress environment npm run env:reset – Reset the environment (clean database) npm run env:destroy – Destroy the environment completely npm run test:php – Run PHPUnit tests npm run test:php:multisite – Run PHPUnit tests in multisite mode npm run lint:php – Run PHP CodeSniffer npm run lint:php:fix – Fix PHP coding standards issues automatically Running Tests After starting the environment with npm run env:start, you can run the tests: `bash npm run test:php ` For multisite tests: `bash npm run test:php:multisite ` Accessing the Site Development site: http://localhost:8888 Admin dashboard: http://localhost:8888/wp-admin (admin/password) Test site: http://localhost:8889 Test admin: http://localhost:8889/wp-admin (admin/password)