| 开发者 | motylanogha |
|---|---|
| 更新时间 | 2026年6月3日 03:56 |
| PHP版本: | 8.1 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
是的。Polski for WooCommerce 是免费的开源软件,遵循 GPLv2 或更高版本许可。
是的。Polski 包含 8 个专用于 GPSR 相关数据的产品字段、批量 CSV 导入或导出、产品列表中的状态列以及产品页面显示工具。您应当审查哪些字段和呈现方式适合您自己的产品和义务。
Yes. Polski adds a withdrawal action directly in My Account > Orders for eligible orders. The customer opens a confirmation page, submits the request, then receives confirmation and the request is logged in the audit trail.
Polski can flag orders that may require KSeF invoicing based on NIP in billing data and provides action hooks (polski/ksef/invoice_ready, polski/ksef/is_required) for invoice plugin integration. A KSeF status column appears in the orders list.
是的。Polski 包含可配置的同意复选框、同意记录、双重确认注册以及相关的数据处理工具,可以支持 GDPR 工作流程。请针对您自己的商店和义务审查相关配置。
是的。Polski 会跟踪并显示促销产品在过去 30 天内的最低价格。在生产环境中依赖此功能之前,请针对您自己的商店审查其输出和定价工作流程。
是的。Polski 完全支持经典结账和购物车以及基于区块的结账和购物车。
是的。Polski 声明完全兼容 WooCommerce HPOS(自定义订单表)。
请使用 WordPress.org 支持论坛获取支持和提交功能建议。
是的。插件后台包含一个简单的反馈表单,可将消息存储在 WordPress 本地。请勿在该表单中包含密码、许可证密钥或客户个人数据。
停用 Polski 会保留您的设置和已存储的数据。卸载会移除插件文件。只有在启用了卸载时移除数据的设置后,插件数据才会被删除。
shutdown handler, storefront only), the checkout failure rate (observes woocommerce_checkout_order_processed, the Store API equivalent, and woocommerce_order_status_failed over a rolling 2-hour window), and a sales anomaly check (previous full hour vs the typical order count for the same weekday/hour over the past 8 weeks, evaluated at most once per hour). No synthetic orders are ever placed. Alerts go out by email and optional JSON webhook (Slack/Discord-compatible) with a configurable cooldown; a hard outage also records an entry in the security incident log when that module is enabled. Health dashboard under Reports & Tools with a manual "Run check now", an admin notice when status is not OK, and a read-only REST endpoint GET /polski/v1/store-health. Block checkout is covered through the Store API hook. Settings: alert email/webhook, failure-rate threshold and minimum sample, sales anomaly threshold, and alert cooldown._polski_needs_invoice order meta. Wired through both classic checkout and the WC 8.6+ additional-fields API. New setting polski_b2b.show_needs_invoice_toggle (default off).polski_compare.show_sticky_bar, default off) showing thumbnails of compared products with a "Porównaj (N)" CTA and a clear-all button. Hidden on the compare page itself; auto-suppressed when the list is empty. Mobile-responsive CSS.[polski_compare_count] for the header counter, with template, class, and hide_when_empty attributes. Renders an anchor to the compare page with a data-polski-compare-count attribute that the existing AJAX layer can update live.[polski_filters preset="b2b"] shortcode argument loads overrides from the new polski_filter_presets option ([name => array<setting, value>]); the inner array is merged over the global filter settings before render. Archives can map to a preset via the polski/filters/archive_preset filter. Per-preset runtime tweaks via polski/filters/preset (preset, name).B2BCheckoutService::isPlausibleIban() now performs the ISO 13616 mod-97 checksum and a country-code length lookup (PL=28, DE=22, GB=22, FR=27, IT=27, plus 25 more EU/CH/GB markets). Replaces the previous structural-only sanity check.polski/dsa/rate_limit_window_seconds and polski/dsa/rate_limit_max_attempts. Source IP is filterable via polski/dsa/rate_limit_ip for sites behind a reverse proxy.IncidentRepository now uses %i placeholders instead of interpolated {$table} queries; FilterService documents the read-only GET-based filter context with a scoped phpcs:disable/enable block instead of leaving a Recommended warning open; CRAIncidentsPage adds wp_unslash() + sanitize_key() before passing $_POST['kind'] and $_POST['severity'] to IncidentKind::tryFrom() and Severity::tryFrom(); templates/forms/ajax-filters.php sanitises single-string $_GET[$key] reads.woocommerce_register_additional_checkout_field (WC 8.6+). NIP, REGON, and IBAN now appear in both classic and Block checkouts from a single registration. Values written by the WC additional-fields API are mirrored to legacy _billing_nip, _billing_regon, _billing_iban order meta on save (woocommerce_set_additional_field_value) so the existing KSeF and invoice modules pick them up unchanged. The classic-only woocommerce_billing_fields path is automatically skipped when the modern API is available, preventing duplicate billing rows. Stores on WC < 8.6 continue to use the classic-only path with the company toggle.polski_dsa_report admin-post handler, so reports flow into the same admin queue as shortcode submissions. Configurable position (after product summary or in product meta block). New filter polski/dsa/product_widget_enabled. Defaults polski_dsa.product_widget_enabled (off) and polski_dsa.product_widget_position (after_summary).polski_dsa (contact_email, form_title, form_intro, plus the new widget keys) so admins see seeded values on first activation instead of empty strings._billing_nip meta so existing KSeF and invoice integrations can pick it up without changes. REGON accepts 9- or 14-digit numbers; IBAN passes a structural sanity check (country prefix + 13-32 alphanumeric body, length 15-34). Settings group polski_b2b (enabled, show_company_toggle, nip, regon, iban). New static utility Polski\Util\NipValidator (isValid, normalize, format). If another integration registers a NIP field, Polski skips its own NIP registration to avoid a duplicate field./llms.txt manifest at the site root following the open standard at https://llmstxt.org. AI agents that look for the well-known file at /llms.txt now get a Markdown index of the site - title, description, legal pages with ?output_format=md links, the WooCommerce shop page, and the top product categories. Filters: polski/ai_feed/llms_txt_enabled, polski/ai_feed/llms_txt_sections, polski/ai_feed/llms_txt_category_limit. Setting polski_ai_feed.llms_txt_enabled (default true).Accept: text/markdown header or ?output_format=md query argument. Adds <link rel="alternate" type="text/markdown"> to single views for discovery and a "View AI Version" row action on the Posts, Pages, and Products list screens.polski/ai_feed/enabled, polski/ai_feed/post_types, polski/ai_feed/post_markdown, polski/ai_feed/product_markdown, polski/ai_feed/product_facts, polski/ai_feed/password_required. Settings group polski_ai_feed (enabled, post_types). Default post types: post, page, product.polski_tax_oss_enabled so custom tax integrations can branch tax logic on OSS state.admin.php?page=polski-group-<bucket>#polski-module-<id>) registered dynamically for every module with settings, enabled or not.GET /polski/v1/compliance/accessibility.Notification.requestPermission, PushManager.subscribe and common third-party push SDKs triggered without user interaction.Polski > RODO training docs downloads three printable HTML templates (training logbook, principles summary, data-breach response playbook). Pre-branded with shop data from the setup wizard.Polski > Complaint template with preview + download as standalone HTML. [polski_complaint_template] shortcode to embed on customer pages.[polski_copyright] shortcode + polski/copyright block with year, owner and optional license. [polski_image_credit] shortcode for per-image credits with source link and license.[polski_business_info] shortcode and a dynamic Gutenberg block polski/business-info. Reads values set in the setup wizard (polski_general option). Block and inline formats with configurable separator.Polski > SBOM with one-click download. Content-Type application/vnd.cyclonedx+json - ready for Dependency-Track / Trivy.Polski > CRA incidents to record, dispatch (webhook + email) and mark resolved. JSON export per ENISA SRP draft schema. Hourly cron checks for deadlines approaching. Action hooks polski_cra_incident_recorded and polski_cra_incident_deadline_approaching. Migration 2.1.0 creates polski_cra_incidents.GET /polski/v1/compliance/cookie-banner?url= returns the cookie-banner checklist as JSON.GET /polski/v1/compliance/page/{privacy|terms} returns the full checklist as JSON.phpcs:ignore annotations with justifications on all $wpdb custom-table calls (repositories, Migrator, DSAService, uninstall.php)phpcs:ignore annotations on meta_key / meta_value / meta_query / tax_query lookups in service classes (ExpertReview, DoubleOptIn, SocialLogin, ReviewRequest, Faq)phpcs:ignore on WooCommerce email header/footer do_action() invocations in email templates$_GET and $_POST handling in admin and storefront flowswp_redirect() calls with wp_safe_redirect() where the target stays on-site<script> tags (DataLayer events, JSON-LD schema) with wp_print_inline_script_tag() / wp_print_script_tag()$wpdb->prepare() with %i table-name placeholder (eliminates table-name interpolation suppressions)echo $html in Elementor widgets with wp_kses_post()polski_ to satisfy WordPress.org naming conventions