Arabic dashboard, multiple independently configured forms, Elementor shortcode
[codlino_form id=”123″], RTL layout and responsive styling. Each form orders a published simple or variable WooCommerce product, with an
optional quantity selector. Orders use WooCommerce CRUD APIs,
COD, on-hold status, stock handling and the standard receipt page; HPOS declared.
Start a new form with no fixed fields and create up to 30 fields: text, textarea,
email, phone, number or select. Use a small required checkbox under each field. Choose optional
price display and colors for the box, fields, field borders, button and button text.
Fields are visible in WooCommerce order details. Optional role mapping populates
customer name, city, phone, address and email. Legacy fixed fields migrate to
editable/deletable fields without changing existing form IDs.
Three ready-made styles (Classic, Express, Premium) apply their palette and layout
without replacing fields. Select Arabic/Latin fonts, button text size, vertical
padding, width, gap above the button and optional gentle shake animation.
Remote selected fonts load from Google Fonts; Janna must be loaded by your site.
Reduced-motion preferences disable animation. Optional Moroccan mobile format
validation accepts 06/07 and 212/+212/00212 international formats on the server.
Optional phone/IP duplicate blocking lasts 24 hours after an accepted order,
with editable messages. Optional HTTPS JSON webhooks run asynchronously with
up to three attempts. Webhook failure never cancels an accepted WooCommerce order.
Powered by Taha Belmezrar.
Codlino does not phone home to its author and has no analytics or licensing
connection. A merchant can use the form and create orders with all external
integrations disabled. The default font uses the site’s own styles.
Selecting Cairo, Tajawal, Noto Sans Arabic, Inter, Poppins or Open Sans loads a
stylesheet from fonts.googleapis.com and font files from fonts.gstatic.com.
Requests happen in the admin preview and visitors’ browsers where that font is
used. Google receives the browser IP address and normal HTTP request information.
Choose the site font or locally supplied Janna to avoid these Google requests.
Service: https://fonts.google.com/
Terms: https://policies.google.com/terms
Privacy: https://policies.google.com/privacy
The merchant configures and deploys the bundled receiver using their own Google
account and spreadsheet. Enabling the integration sends accepted order data
from the WordPress server to the configured script.google.com/macros/s/…/exec
endpoint. Data includes order/form/event identifiers, customer name, phone,
city, country, products, selected attributes, quantity, totals, currency, status
and configured form fields. A private per-form receiver token authenticates the
POST. Google may serve its response at script.googleusercontent.com/macros/echo;
Codlino reads it by GET without forwarding the POST body or token. Google also
receives the server IP address and normal HTTP request information. Clicking
Test sends synthetic sample data and creates a test row, with no WooCommerce
order. Real delivery and retries run through WP-Cron.
Service: https://developers.google.com/apps-script
Terms: https://policies.google.com/terms
Privacy: https://policies.google.com/privacy
Enabling a webhook sends the same order payload, without the Sheets token, to
the merchant’s own HTTPS endpoint. Clicking Test sends synthetic sample data.
The endpoint provider’s terms/privacy policy apply; merchants must review them
and disclose relevant processing to shoppers before enabling their integration.
Orders and customer details are stored in WooCommerce. Form settings, webhook
endpoints and receiver tokens are stored in the WordPress database. Order
metadata keeps submitted form fields, selected attributes and delivery state;
enabled Sheets delivery stores its endpoint and token with the order for retries.
Duplicate phone/IP guards use salted HMAC identifiers with 24-hour expiry;
request records expire after 48 hours. Orders retain the WooCommerce customer
IP and submitted details subject to the merchant’s WooCommerce retention policy.
Deactivation/removal preserves settings, forms and orders. Merchants manage
WooCommerce customer-data retention and any external spreadsheet/webhook copies.
codlino_validate_submission($error, $fields, $form_id)
codlino_order_created($order, $form_id)
codlino_client_ip($ip)
Order metadata retains _codflow_form_id, _codflow_full_name, _codflow_request_id,
_codflow_fields and optional webhook delivery metadata for upgrade compatibility.