| 开发者 | rafacarvalhido |
|---|---|
| 更新时间 | 2026年5月15日 23:05 |
| 捐献地址: | 去捐款 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 6.9 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/wp-content/plugins/racar-checkout-manager-for-brazilian-stores directory, or install the plugin through the WordPress plugins screen directly.Yes, the plugin is fully compatible with WooCommerce's High-Performance Order Storage (HPOS).
The plugin uses Brazilian CEPs (postal codes) to fetch address data: it calls BrasilAPI first, and uses ViaCEP as a fallback if BrasilAPI does not return a valid address. This data is then used to automatically populate the address fields during checkout.
Yes, you can enable or disable individual fields like CPF, CNPJ, RG, and more from the plugin's settings page.
Yes, the plugin is fully localized and ready for translation into other languages.
Yes, you can enable input masks for fields like CPF, CNPJ, and cellphone to improve the user experience.
Yes, you can disable the autofill feature entirely from the plugin settings (Tab 2: Autofill Addresses). When disabled, no external API calls are made.
Classic checkout rows often use form-row-first / form-row-last together with theme CSS floats. The plugin keeps those WooCommerce classes but changes which rows are visible (PF/PJ toggles) and interacts with WooCommerce scripts that can reassign row classes when country or locale rules change (the plugin also restores your configured postcode row classes after country_to_state_changing). That can misalign float pairs even though class names match WooCommerce defaults.
In Checkout Fields (Tab 1), enable Classic Checkout Layout (Float Compatibility) → Recover floated checkout columns. It is off by default so normal themes are unaffected; when enabled, it outputs a checkout-only rule (clear: both on form-row-first) with exclusions for wide rows and the plugin’s three-column helpers. Test checkout with your theme after enabling; disable again if anything looks worse.
Use the classic checkout page (shortcode checkout). With the option off, confirm billing/shipping look as before. Turn it on only on stores that showed overlap; recheck billing, shipping, switching PF/PJ (when applicable), and changing country if customers can. Storefront is a good baseline; themes that rely heavily on floats benefit most.
In Checkout Fields (Tab 1) → Classic Checkout Layout (Float Compatibility), enable Preserve two-column row layout on small screens (default off). It applies classic shortcode checkout only (not block checkout): under max-width: 768px it outputs scoped CSS on .woocommerce-checkout form.checkout to restore WooCommerce two-column widths/floats and this plugin’s three-column helpers when themes force full-width rows, keeps form-row-wide full width, uses clear: both on form-row-first (with the same exclusions as float recovery), and slightly reduces checkout label size (font-size: 70%) so labels are less likely to wrap and misalign paired fields. Test on real devices; disable if your theme looks worse.
billing.cpf, billing.cnpj, billing.number, billing.neighborhood, persontype as F/J, etc.) for Bling and similar integrations — no new public endpoints; uses existing WC REST permission checks._billing_* / _shipping_* alongside existing keys for compatibility with legacy Brazilian Market data.account_username and account_password to use WooCommerce account keys (instead of legacy billing_* prefixes), preventing false “required field” errors when those fields are filled on checkout.form-row-first / form-row-last / form-row-wide classes.updated_checkout or window load) to avoid a brief broken layout flash.input event); non-digits (e.g. hyphen from mask or manual typing) are ignored — lookup no longer waits for leaving the postcode field (blur).max-width: 768px, scoped inline CSS restores form-row-first / form-row-last and three-column helper classes when themes stack fields full width; form-row-wide stays full width; form-row-first uses clear: both (with wide / three-col exclusions); checkout labels use font-size: 70% in that mode to reduce row misalignment; block checkout unaffected; FAQ entry addedrbsmhao_force_legacy_global_selectwoo_strip (returns bool, receives settings array): return true to restore the previous site-wide strip behavior on stores that depended on itselect and leave markup inside #billing_country_field / #shipping_country_field .woocommerce-input-wrapper) using scoped display:flex, min-height, and optional select line-height — not a global span.woocommerce-input-wrapper rule (avoids breaking other fields)select.country_to_state / select.country_select and My Account select.country_to_state get native height rules even when the theme drops rbsmhao-select-field on the country rowclear: both on .woocommerce-checkout .woocommerce-shipping-fields so “Ship to a different address?” is not pulled beside floated billing rows (e.g. some Woodmart layouts)Y-m-d prefill before applying dd/mm/aaaa.woocommerce-checkout, rbsmhao-select-field) to reduce cross-theme mismatch!important; styles are now scoped to checkout/plugin context to lower risk of theme conflictsclear: both behavior for form-row-first plus exclusions for wide rows and plugin three-column helper classescountry_to_state row-class changes, and postcode class restore flow)woocommerce_get_country_locale_base and woocommerce_get_country_locale_default hooks (priority 20) in addition to woocommerce_get_country_localeupdate_totals_on_change is appended only when missing), preventing duplicate classes in repeated locale passeswoocommerce_billing_fields / woocommerce_shipping_fields, priority 20) now includes Brazilian extras Number and Neighborhood when enabled in Checkout Fields settings (same visibility rules as checkout via get_active_fields()).woocommerce-account as well as .woocommerce-checkout (registration, edit-address, etc.); Classic Checkout Layout (Float Compatibility) remains checkout-onlyclear: both on form-row-first inside .woocommerce-checkout form.checkout, excluding form-row-wide and three-column helper classes; documented FAQ on PF/PJ visibility, country_to_state, and postcode row class restorerff toggles for account_username and account_password follow WooCommerce Account & Privacy (manual username/password), are read-only in the admin UI with notice + link to WC settings, and are forced on sanitize; updated_option / woocommerce_update_options_account keep rff aligned when those WC options changeaccount_username / account_password (not billing_*)account_username, account_password) — default settings and the checkout reset action now persist enabled/required from WooCommerce Account & Privacy (woocommerce_registration_generate_username, woocommerce_registration_generate_password); first-install activation uses the same default merge base instead of schema-only enabled => falseenabled/required for those account fields diverge (hooks: woocommerce_update_options_account, updated_option on the two registration options above)cpf_login) is available only when WooCommerce Generate account login is enabled; otherwise the toggle is off, read-only, with notice + link to WooCommerce → Settings → Account & Privacy, hidden input forces cpf_login off on save, and sanitization blocks forged POST valueswoocommerce_registration_generate_username → no), cpf_login is persisted off (woocommerce_update_options_account, updated_option); turning WC generation back on unlocks the toggle without auto-enabling the plugin optioncpf_as_username and duplicate-login checks honour the same WooCommerce rule; CNPJ path now respects cpf_login instead of the non-existent cnpj_login keyracar-checkout-manager-uninstall) with the user performing the uninstall (when available) and which plugin options were deleted; requires WooCommerce active and WC logging enabled per store settingsrbsmhao_plugin_uninstalled action so developers can persist an audit trail elsewhere (payload: user_id, user_login, uninstalled_at, options_deleted)RBSMHAO-checkout-frontend-style.css (order notes / additional fields full-width when shipping row float layout breaks)racar/v1/cep/{cep})AND/OR replaced by &&/||)order_comments management in Checkout Fields Tab with controls for enable/disable, label, placeholder, and requiredrff reads in Tab 4 to avoid PHP Undefined array key warnings on partial/legacy settings arraysrff follows persontype, CPF/CNPJ toggles, and company_as_namepersontype is PF and Billing Company is disabled, company_as_name is automatically turned off and rbsmhao_one_cpf_settings[rff][company] is forced to 0 on savefirst_name/last_name when PJ-only + Company as Name is enabledcompany when PF-only + Billing Company is disabledfor/id attributes (fixes DevTools warning: “A <label> isn't associated with a form field”)RBSMHAO-select2.css); Select2 styling remains only on the storefront when the option is enabledRBSMHAO-checkout-fields-frontend-script.js): when #billing_persontype is absent (e.g. PF-only/PJ-only checkout), initialization returns immediately so no MutationObserver is attached (this was the main performance fix; previously every DOM childList mutation still invoked the toggle path and spammed the console). When the field exists, childList updates are coalesced with requestAnimationFrame, and the old debug console.log was removedwp_register_script URL for the checkout frontend script to use the correct filename casing (RBSMHAO-checkout-fields-frontend-script.js) so the asset loads on case-sensitive hosts (separate from the observer/console issue above)account_username, account_password), relocated from the account fieldset into the billing block for layout; visibility follows WooCommerce Account & Privacy settings (manual username/password); admin toggles for enable/required are locked with a link to WC settings; label, placeholder, priority, and CSS classes remain editable.required when registration is mandatory (no guest checkout); when guest checkout is optional they stay optional until “Create an account?” is checked; companion script syncs visibility and required markers (asterisk / validate-required) so users are not shown “optional” for fields that must be filled.