v2.4.2 — Plugin Check pass
v2.4.2 — WordPress.org Plugin Check pass
Resolves every Error and warning flagged by the WP.org Plugin Check tool. No runtime behaviour changes.
Errors fixed
WordPress.DB.PreparedSQL.NotPrepared(class-fungies-workspace-meta.phplines 94-95) — Replaced the string-concatenated meta_key clause with a fully prepared statement using$wpdb->prepare()+$wpdb->esc_like(). Removed the now-deadpushed_offer_meta_key_sql_clausehelper.WordPress.DB.PreparedSQL.InterpolatedNotPrepared+PluginCheck.Security.DirectDB.UnescapedDBParameter(class-fungies-product-sync.phplines 114, 120) —cleanup_pushed_duplicates()is now a single$wpdb->prepare()call with%splaceholders. The interpolated$pushed_clausestring is gone.WordPress.WP.I18n.MissingTranslatorsComment— Added/* translators: ... */comments above every gettext call with placeholders:class-fungies-admin-settings.phplines 216, 302class-fungies-order-sync.phplines 87, 144, 194class-fungies-product-sync.phpline 51
WordPress.WP.I18n.UnorderedPlaceholdersText(class-fungies-admin-settings.phpline 302) — Reworked'Connected to %s API! (%s)'into ordered placeholders'Connected to %1$s API! (%2$s)'so translators can reorder.
Warnings annotated with narrow, justified phpcs:ignore
Each suppression has an inline rationale comment immediately above it, so reviewers can see why the warning is being silenced:
WordPress.Security.NonceVerification.Recommended— Two read-only branches: thewc-api=fungies_returnredirect handler (class-fungies-checkout.php) and the admin-settings tab discrimination (class-fungies-admin-settings.php). Neither mutates state; payment state lives in the parallel HMAC-SHA256-verified webhook.WordPress.DB.DirectDatabaseQuery.DirectQuery+NoCaching— Three single-row prepared lookups against indexedmeta_key/meta_valuepairs (one each in workspace-meta, product-sync, order-sync). Running them throughWP_Queryadds overhead with no caching benefit since they fire once per webhook line item / sync pass.WordPress.DB.SlowDBQuery.*— Same indexed lookups + the singlemeta_queryNOT EXISTSon_fungies_offer_idused by the push pass. Low-cardinality keys set only on synced products.
Upgrade
Drop-in replacement for v2.4.1. No data migrations, no config changes required.