| 开发者 |
artisan-workshop-1
shohei.tanaka mt8biz ssec4dev |
|---|---|
| 更新时间 | 2026年11月6日 05:34 |
| 捐献地址: | 去捐款 |
| PHP版本: | 8.3 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 |
| 版权网址: | 版权信息 |
https://wc.artws.info/feed/v1/ (data from Wordfence Intelligence) and compares it with the installed software on the site itself; "Re-check now" on the Security tab also downloads it at once when no list is stored yet. The requests are plain downloads: they carry only a User-Agent header with the versions of this plugin, WordPress, WooCommerce and PHP, and like any request they reveal the server's IP address. These downloads do not send the site URL, the list of installed plugins and themes or the results of the check (only the free security check below sends them, after consent); the other checks on the Security tab run on the site and send requests only to the site's own address. Turning the security check off on the Security tab stops the requests and deletes the downloaded data and the results. Terms of use: https://wc.artws.info/security-assessment-term/ Privacy policy: https://wc.artws.info/privacy-policy/POST https://wc.artws.info/wp-json/artws-sec/v1/scan with: schema_version, site_url (the site address), wp_ver, wc_ver, php_ver and jp4wc_ver (the versions of WordPress, WooCommerce, PHP and this plugin), locale, software (the type, slug, version and active state of every installed plugin and theme), local_findings (the check_id and status of each check on the Security tab, never the settings behind them), consent_version and, only when a separate box is ticked (off by default, offered only to stores in Japanese yen), revenue_band and order_band (the revenue and the number of paid orders of the last 12 months as band codes, never the amounts). The consent screen shows every value before it is sent. The administrator's e-mail address, customer data, order amounts, API keys, the contents of wp-config.php and server paths are not sent. The response is a report shown on the Security tab and, on the first check, a site identification token issued by wc.artws.info, which the plugin keeps without showing it and sends with later checks and with the deletion. wc.artws.info keeps the data for 180 days. It uses the data to make the report, to improve the service, for security information on wc.artws.info (aggregated so that no site can be identified) and, through staff of 職人工房 合同会社 looking at each registration, to answer inquiries, investigate problems, confirm deletion requests and review the priority of measures for the size of the store. The bands are used only to show that priority in the report, to improve the service, for the aggregated security information and for the staff check. The data and the reports are never used for sales or advertising. "Delete check data" on the Security tab sends DELETE https://wc.artws.info/wp-json/artws-sec/v1/site and removes the consent, the token and the report from the site; deleting the plugin from the Plugins screen sends the same request. Nothing is sent by WP-Cron. Terms of use: https://wc.artws.info/security-assessment-term/ Privacy policy: https://wc.artws.info/privacy-policy/While WooCommerce can work in Japan without this plugin, Japanized for WooCommerce provides essential features that Japanese customers expect, such as delivery date selection, name reading fields (Yomigana), and local payment methods. It significantly improves the user experience for Japanese e-commerce.
Yes! Version 2.8.0 and later fully supports the new WooCommerce Blocks checkout experience, including delivery date selection and custom address fields.
You need to obtain a free Yahoo! Japan Application ID from the Yahoo! Developer Network. Once you have the ID, enter it in the WooCommerce → Settings → Japan Settings → Address Form section.(Classic Checkout only)
The plugin includes: Bank Transfer (Japanese banks), Japan Post Bank Transfer, Cash on Delivery (COD) with fee calculation, Pay at Store, and Paidy (Buy Now, Pay Later). Paidy is also available as a standalone plugin.
Yes, absolutely! All features are modular and can be enabled or disabled individually from the plugin settings. You only need to activate the features your store requires.
Yes, the plugin is compatible with WPML and other multilingual plugins. It automatically detects the language and adjusts features accordingly. Japanese-specific features are only applied when the site language is set to Japanese.
Go to WooCommerce → Settings → Japan Settings → Delivery Date. You can configure available delivery times, set holidays, exclude specific days of the week, and customize the delivery date display format.
No, the plugin uses WordPress and WooCommerce hooks and filters. It doesn't modify any core files, making it safe to use and easy to update.
For support, please visit the plugin support forum on WordPress.org or check the official documentation.
Yes, Japanized for WooCommerce is completely free and open source under the GPLv3 license.
jp4wc_security_check_updates_automatically lets a plugin that updates other plugins on its own schedule have them counted as updated automatically by the security check, and the action jp4wc_security_findings_updated fires with the results each time the security check saves them (#300)?rest_route=/wp/v2/users, which WordPress answers whatever the permalinks, so a site that blocks only /wp-json/wp/v2/users now fails the check, and the item is shown as unconfirmed when only one of the two addresses can be checked; an X-WP-Total header sent twice no longer causes a PHP warning. The check for backups and database dumps in public directories also finds UpdraftPlus database backups (-db.gz), .sql and .tar files compressed with bzip2, xz or zstd, .tbz2, .txz and All-in-One WP Migration's .wpress, while public files such as sitemap.xml.gz are still left alone (#315)jp4wc_login_limit_ipv6_prefix changes the network length (32 to 128). Failures already counted for IPv6 addresses start over with this update (#314)define( 'JP4WC_LOGIN_LIMIT_DISABLE', true ) in wp-config.php turns it off from outside (#289)/wp-json/wp/v2/users) from visitors who are not logged in, and forbid file editing in the admin screens (DISALLOW_FILE_EDIT, unless wp-config.php already defines it) (#291)-) were rejected by the payment ID format check and never marked as paid, leaving the order pending until the stock hold cancelled it even though the customer had paid; the check now accepts the base64url alphabet Paidy actually uses (pay_[A-Za-z0-9_-]+) while keeping the URL injection protection (#223)chosen_payment_method and from the payment method submitted with the order (#215)&, ', "), so a time zone label containing &, ' or " was saved differently from the block checkout and showed up encoded in plain-text order emails; the values are now stored as entered, like the block checkout and the admin meta box, and escaped only where they are displayed (#224)& and similar characters in product and coupon names from showing up as & on the Paidy screen (#232)rawurlencode()-escaped before it is put into the cancel, capture and refund API URLs, as the payment lookup has been since 2.9.14; for an ID that does not match, no request is sent to Paidy and an order note is added (a capture also e-mails the shop's notice address) (#233)paidy_received_data option; they remain stored (as before) in the gateway's own settingswizard=false now correctly shows the Paidy gateway's manual configuration fieldswp_remote_post() failure during Paidy onboarding submission no longer also falls through to the HTTP-response-code error branch, avoiding duplicate log entriesjp4wc-cod2-fee)(incl. tax)) after the COD fee amount in cart/checkout totals on the classic checkout, following the same display logic as WooCommerce core subtotal/shipping rows; applied only to the JP4WC gateway feeforce_balance_tags() on output and validated on save403 paidy_invalid_state error on Paidy Instant Onboarding key delivery when the merchant review took longer than 2 days; the one-time state token is now stored as a non-autoloaded option with an application-level expiry instead of a transient, so it survives until the callback arrivespk_test_ prefix into the saved test API public key; key management is left entirely to the userview-order); the duplicate additional-field rows are now suppressed there as well as on the order received pageGET /payments/{id}; switched to wp_safe_remote_get() so payment status checks now succeed and order completion is unblockedpayment_id parameter is now validated against the Paidy format (pay_[A-Za-z0-9_]+) and rawurlencode()-escaped before being interpolated into the API URL, preventing path/query injection from buyer-controllable transaction IDspay_[A-Za-z0-9_]+ to match actual Paidy IDs such as pay_aii8_kYAAEYA2BDWpaidy-receiver/v1/receive now enforces a one-time per-session state token (stored as a per-token transient keyed by the 32-char value itself so parallel sessions cannot clobber each other); paidy/v1/order and paidy/v1/check now require either HMAC signature verification or an IP allowlist — the previous unconditional return true fallback has been removedwp_remote_post() fails__() / sprintf() with a %s field-name placeholder$filtered_params as empty strings so downstream code can access all four key fields unconditionally without undefined-index noticeswoocommerce_address_to_edit filter now removes _wc_{type}/jp4wc/yomigana_* duplicates when traditional {type}_yomigana_* fields are already present (classic checkout), and suppresses traditional fields when only WC Additional Fields API keys are registered (block checkout)/my-account/?edit-address) for both classic and block checkout; WC Additional Fields API render_address_fields callback is now removed before it fires when JP4WC yomigana is enabled, eliminating the extra "Last Name ( Yomigana )" label rows_wc_billing/jp4wc/yomigana_* meta keys; formatted_address() now reads both classic ({type}_yomigana_*) and block (_wc_{type}/jp4wc/yomigana_*) meta keys, selecting the set that matches the active checkout type{last_name}, {first_name}, and {yomigana_*} placeholders appeared as literal text in the Block Checkout address summary; address format filter now correctly handles block checkout contextppec_paypal) compatibility code that referenced a decommissioned gatewayjp4wc_delivery_check_data() on Classic Checkout with Square / Amazon Pay; woocommerce_payment_successful_result was registered with 1 argument so $result['order_id'] was undefined when gateways omit it — wc_get_order(null) returned false, causing a PHP Fatal Error on $order->get_meta() and corrupting the AJAX redirect to the Thank You page; filter now accepts 2 arguments and $order_id arrives as the second parameter; added early-return guard when wc_get_order() returns false (Closes #166)woocommerce_localisation_address_formats filter registration that injects {yomigana_last_name} / {yomigana_first_name} placeholders into the JP address format templatelog_info to log_debug (WP_DEBUG only) to stop a 2 MB/day log flood on sites with delivery date disableddisplay_admin_order_meta() method in JP4WC_Delivery that was never registered to any hook (dead code since introduction)jp4wc_hide_notices() now requires manage_woocommerce capability before processing notice-dismissal requestsadmin_page_wc-orders and uses a $_GET['page'] fallback for early-init caseswoocommerce_admin_styles at admin_enqueue_scripts priority 20 to guarantee the overrides take effectwoocommerce_billing_fields/woocommerce_shipping_fields filter and streamlined yomigana field handling in address replacementsjp4wc_calculate_order_totals read from woocommerce_cod_settings while the JP4WC admin UI saves to wc4jp-extra_charge_* options; settings are now merged at runtime with JP4WC values taking precedenceextra_charge_calc_taxes mismatch: React admin UI stored yes/no but PHP expected no-tax/tax-excl/tax-incl; legacy values are now normalised on read and the admin UI updated to a 3-way selectjp4wc_gateway_id session value could cause COD fee to be silently skipped in Classic Checkout (double session-check removed; gateway ID resolved once and passed through the entire calculation)wc/store/payment store readinessjp4wc_cod_fee_settings, jp4wc_cod_fee_name, jp4wc_cod_fee_amount, jp4wc_cod_fee_is_applicable, jp4wc_cod_fee_tax_class (all @since 2.9.8)x-paidy-signature header) causing orders to remain "pending" and be auto-cancelledsecret_key (non-existent); corrected to api_secret_key / test_api_secret_key based on test modebankjp) account skip condition ! isset( $account_names[$i] ) was always false; replaced with empty( $bank_names[$i] ) && empty( $name ) to properly skip blank rows_wc_other/ to _wc_billing/ and _wc_shipping/ prefixes<strong> list below the formatted address in emails and thank-you page; now suppressed via show_in_order_confirmation: false and block render filterWC_Email::$sending flag for reliability with WC 10.7+ BlockEmailRendererWC_Gateway_Paidy not found fatal error on admin pages when WooCommerce is installed with a non-standard path (e.g. wp-env)jp4wc_has_orders_in_last_5_days undefined function error caused by is_woocommerce_active() returning false in non-standard install pathsjp4wc_allowed_setting_keys filter to allow add-on plugins to register their own setting keys with the REST APIjp4wc_setting_option_map filter to allow add-on plugins to map REST keys to their existing WordPress option namesjp4wc.settings.tabs and jp4wc.settings.tabContent JS filters via @wordpress/hooks to allow add-on plugins to inject tabs into the React settings UIis_admin() returning true for admin-ajax.php requestsclass_exists to interface_exists for IntegrationInterface)paidy_capture_id guard)_load_textdomain_just_in_time warning in WordPress 6.7+ by deferring translations to after initJP4WC_Framework config strings now lazy-loaded at init priority 2 to prevent early textdomain callsWC_Paidy_Endpoint instantiation deferred to init priority 11 to prevent early WC_Gateway_Paidy construction