• Hello,

    The cart block on cart page shows unknown char + for + quantity input.

    Screenshot here : https://ibb.co/B5WhgtJ8

    I localized this unknown char in some files :

    Files

    assets/client/blocks/cart.js
    assets/client/blocks/mini-cart-contents.js
    assets/client/blocks/wc-cart-checkout-base-frontend.js

    Replace

    (0,n.__)("Quantity increased to %s.","woocommerce"),e))},children:"+"})

    By

    (0,n.__)("Quantity increased to %s.","woocommerce"),e))},children:"+"})

    File

    src/Blocks/BlockTypes/MiniCartProductsTableBlock.php

    Replace (line 203)

    											<button 
    data-wp-bind--disabled="state.maximumReached"
    data-wp-on--click="actions.incrementQuantity"
    data-wp-bind--aria-label="state.increaseQuantityLabel"
    data-wp-bind--hidden="!state.cartItem.quantity_limits.editable"
    class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
    >

    </button>

    By

    											<button 
    data-wp-bind--disabled="state.maximumReached"
    data-wp-on--click="actions.incrementQuantity"
    data-wp-bind--aria-label="state.increaseQuantityLabel"
    data-wp-bind--hidden="!state.cartItem.quantity_limits.editable"
    class="wc-block-components-quantity-selector__button wc-block-components-quantity-selector__button--plus"
    >
    +
    </button>

    Thanks for the update.

    Best regards.

    Joffrey

Viewing 13 replies - 1 through 13 (of 13 total)
  • Hi @agent3w,

    Thank you for taking the time to report this and for sharing the detailed findings, including the file locations and suggested replacements. I can see how the character showing instead of the standard + on the quantity input would be unexpected.

    To help us better understand the situation, could you clarify a bit more about what you are experiencing on your end?

    Is the character causing a functional issue with the quantity selector itself, or is this mainly related to the visual/display output you are seeing?

    Also, are you sharing this as a bug report/suggestion for the character replacement in WooCommerce core, or are you currently experiencing a compatibility or encoding issue on a live/store setup?

    If possible, please also let us know:
    – Which WooCommerce version you are currently testing with
    – Whether this happens with only the Cart Block or also the Mini Cart block
    – If you have tested with only WooCommerce active and a default WordPress theme

    Looking forward to your clarification.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hello @lovingbro,

    No functional issue, only visual issue.

    Bug report + currently experiencing the issue on a store under development (no customization in the cart)

    • WooCommerce – 10.7.0
    • Issue on cart block and mini cart block
    • Theme : GeneratePress – 3.6.1 (not tested with other theme – I fixed the wc files myself for now)
    <br>### WordPress Environment ###<br><br>WC Version: 10.7.0<br>Legacy REST API Package Version: L’extension Legacy REST API n’est pas installée sur ce site.<br>Action Scheduler Version: ✔ 3.9.3<br>Log Directory Writable: ✔<br>WP Version: 7.0<br>WP Multisite: –<br>WP Memory Limit: 2 Go<br>WP Debug Mode: ✔<br>WP Cron: ✔<br>WP Environment Type: production<br>Language: fr_FR<br>External object cache: –<br><br>### Server Environment ###<br><br>Server Info: Apache<br>Server Architecture: Linux 4.18.0-553.109.1.lve.el8.x86_64 x86_64<br>PHP Version: 8.3.31<br>PHP Post Max Size: 512 Mo<br>PHP Time Limit: 300<br>PHP Max Input Vars: 200000<br>cURL Version: 8.20.0<br>OpenSSL/1.1.1w<br><br>SUHOSIN Installed: –<br>MySQL Version: 11.4.11-MariaDB<br>Max Upload Size: 512 Mo<br>Default Timezone is UTC: ✔<br>fsockopen/cURL: ✔<br>SoapClient: ✔<br>DOMDocument: ✔<br>GZip: ✔<br>Multibyte String: ✔<br>Remote Post: ✔<br>Remote Get: ✔<br><br>### Post Type Counts ###<br><br>acf-field: 53<br>acf-field-group: 6<br>acf-post-type: 2<br>acf-taxonomy: 8<br>acf-ui-options-page: 1<br>artist: 14<br>attachment: 72<br>custom_css: 2<br>customize_changeset: 62<br>evenement: 2<br>gblocks_condition: 26<br>gblocks_overlay: 2<br>gblocks_styles: 229<br>gp_elements: 24<br>gp_font: 2<br>nav_menu_item: 8<br>page: 20<br>post: 6<br>product: 17<br>product_variation: 13<br>revision: 133<br>shop_order_placehold: 5<br>wp_block: 17<br>wp_global_styles: 2<br>wp_navigation: 1<br><br>### Security ###<br><br>Secure connection (HTTPS): ✔<br>Hide errors from visitors: ✔<br><br>### Active Plugins (30) ###<br><br>Advanced Custom Fields PRO: par WP Engine – 6.8.1<br>FiboSearch - AJAX Search for WooCommerce: par L’équipe FiboSearch – 1.33.0<br>Galerie d'Art Paris par Agent 3W: par Agent 3W – 0.0.30<br>Better Search Replace: par WP Engine – 1.4.10<br>Block Visibility: par Nick Diego – 3.7.1<br>Cocolis: par Cocolis.fr – 1.1.5<br>Code Snippets: par Code Snippets Pro – 3.9.6<br>Complianz | GDPR/CCPA Cookie Consent: par Complianz – 7.4.6<br>Conditional Shipping for WooCommerce: par Lauri Karisola / WP Trio – 3.6.1<br>FacetWP: par FacetWP<br>LLC – 4.3-demo<br><br>Flexible Shipping: par Octolize – 6.7.3<br>FluentSMTP: par Équipes FluentSMTP & WPManageNinja – 2.2.95<br>Dossiers: par Premio – 3.1.9<br>GB Term Meta Conditions: par Agent 3W – 1.0.0<br>GenerateBlocks Pro: par Tom Usborne – 2.5.0<br>GenerateBlocks: par Tom Usborne – 2.2.1<br>GeneratePress Thème Enfant par Agent 3W: par Agent 3W – 1.1.25<br>GP Premium: par Tom Usborne – 2.5.5<br>Headers Security Advanced & HSTS WP: par 🐙 Andrea Ferro – 5.3.2<br>Page Catégorie: par Agent 3W – 1.0.4<br>SecuPress Free avec Simple SSL – La sécurité simple et performante: par SecuPress – 2.6.1<br>Temporaire Login Without Password: par StoreApps – 1.9.7<br>WooCommerce Stripe Gateway: par Stripe – 10.7.0<br>PDF Invoices & Packing Slips for WooCommerce: par WP Overnight – 5.12.2<br>PDF Invoices & Packing Slips for WooCommerce - Professional: par WP Overnight – 2.25.1<br>WooCommerce: par Automattic – 10.7.0<br>SEOPress PRO: par The SEO Guys at SEOPress – 9.9<br>SEOPress: par The SEO Guys at SEOPress – 9.9<br>WS Form PRO: par WS Form – 1.11.5<br>WS Form PRO - User Management: par WS Form – 1.6.8<br><br>### Inactive Plugins (10) ###<br><br>Burst Statistics - Privacy-Friendly Analytics for WordPress: par Burst Statistics - Stats & Analytics for WordPress – 3.4.3<br>Duplicate Page: par mndpsingh287 – 4.5.9<br>Enable Media Replace: par ShortPixel – 4.1.9<br>MainWP Child: par MainWP – 6.0.11<br>ShortPixel Image Optimizer: par ShortPixel - Convert WebP/AVIF & Optimize Images – 6.5.1<br>Simple CAPTCHA Alternative with Cloudflare Turnstile: par Elliot Sowersby<br>RelyWP – 1.39.1<br><br>SVG Support: par  – 2.5.14<br>Two Factor: par WordPress.org Contributors – 0.16.0<br>UpdraftPlus - Backup/Restore: par TeamUpdraft<br>DavidAnderson – 2.25.9.26<br><br>WP Rocket: par WP Media – 3.18.2<br><br>### Must Use Plugins (3) ###<br><br>A3W - Preserve Agency Users: par Agent 3W – 1.0.0<br>SecuPress COOKIEHASH: par  – 2.3.16<br>_a3w_salt_keys.php: par  –<br><br>### Settings ###<br><br>Legacy API Enabled: –<br>Force SSL: –<br>Currency: EUR (€)<br>Currency Position: right_space<br>Thousand Separator: <br>Decimal Separator: ,<br>Number of Decimals: 2<br>Taxonomies: Product Types: external (external)<br>grouped (grouped)<br>simple (simple)<br>variable (variable)<br><br>Taxonomies: Product Visibility: exclude-from-catalog (exclude-from-catalog)<br>exclude-from-search (exclude-from-search)<br>featured (featured)<br>outofstock (outofstock)<br>rated-1 (rated-1)<br>rated-2 (rated-2)<br>rated-3 (rated-3)<br>rated-4 (rated-4)<br>rated-5 (rated-5)<br><br>Connected to WooCommerce.com: –<br>Enforce Approved Product Download Directories: ✔<br>HPOS feature enabled: ✔<br>Order datastore: Automattic\WooCommerce\Internal\DataStores\Orders\OrdersTableDataStore<br>HPOS data sync enabled: –<br>Enabled Features: analytics<br>marketplace<br>order_attribution<br>site_visibility_badge<br>remote_logging<br>email_improvements<br>blueprint<br>point_of_sale<br>custom_order_tables<br><br><br>### Logging ###<br><br>Enabled: ✔<br>Handler: Automattic\WooCommerce\Internal\Admin\Logging\LogHandlerFileV2<br>Retention period: 30 jours<br>Level threshold: –<br>Log directory size: 373 Ko<br><br>### WC Pages ###<br><br>Base de la boutique: #868 - /oeuvres/<br>Panier: #869 - /panier/ -  Contient le bloc woocommerce/cart<br>Commander: #870 - /commander/ -  Contient le bloc woocommerce/checkout<br>Mon compte: #871 - /mon-compte/ -  Contient le code court &#091;woocommerce_my_account]<br>Conditions générales de vente et d’utilisation: #2383 - /conditions-generales-de-vente/<br><br>### Theme ###<br><br>Name: GeneratePress Child<br>Version: 2.0.3<br>Author URL: https://agent3w.com<br>Child Theme: ✔<br>Parent Theme Name: GeneratePress<br>Parent Theme Version: 3.6.1<br>Parent Theme Author URL: https://generatepress.com/about<br>Theme type: Thème classique<br>WooCommerce Support: ✔<br><br>### Templates ###<br><br>Override: wp-content/plugins/art-gallery-paris/templates/woocommerce/archive-product.php ❌ L’en-tête de version est manquant. La version du noyau est 8.6.0<br>Override: wp-content/plugins/art-gallery-paris/templates/woocommerce/single-product/add-to-cart/variation.php ❌ L’en-tête de version est manquant. La version du noyau est 9.3.0<br>Override: wp-content/plugins/art-gallery-paris/templates/woocommerce/single-product/price.php ❌ L’en-tête de version est manquant. La version du noyau est 3.0.0<br>Override: wp-content/plugins/art-gallery-paris/templates/woocommerce/single-product.php ❌ L’en-tête de version est manquant. La version du noyau est 1.6.4<br><br>### WooCommerce Stripe Payment Gateway ###<br><br>Version: 10.7.0<br>Account ID: <br>Test Mode Enabled: Oui<br>OAuth Connected: Non<br>Sync Enabled: Non<br>Optimized Checkout Enabled: Non<br>Enabled Payment Methods: card,link<br>Express Checkout: ✔<br>					Activé (product,cart,checkout)<br>Auth and Capture: ✔<br>					Oui<br>Logging: Non<br><br>### Admin ###<br><br>Enabled Features: activity-panels<br>analytics<br>analytics-scheduled-import<br>product-block-editor<br>experimental-iapi-mini-cart<br>coupons<br>core-profiler<br>customize-store<br>customer-effort-score-tracks<br>import-products-task<br>experimental-fashion-sample-products<br>shipping-smart-defaults<br>shipping-setting-tour<br>homescreen<br>marketing<br>mobile-app-banner<br>onboarding<br>onboarding-tasks<br>pattern-toolkit-full-composability<br>product-custom-fields<br>remote-inbox-notifications<br>remote-free-extensions<br>payment-gateway-suggestions<br>printful<br>shipping-label-banner<br>subscriptions<br>store-alerts<br>transient-notices<br>woo-mobile-welcome<br>wc-pay-promotion<br>wc-pay-welcome-page<br>launch-your-store<br><br>Disabled Features: product-data-views<br>experimental-blocks<br>experimental-iapi-runtime<br>coming-soon-newsletter-template<br>minified-js<br>product-pre-publish-modal<br>products-catalog-api<br>settings<br>async-product-editor-category-field<br>product-editor-template-system<br>use-wp-horizon<br>rest-api-v4<br><br>Daily Cron: ❌ Non planifié<br>Options: ✔<br>Notes: 60<br>Onboarding: skipped<br><br>### Action Scheduler ###<br><br>Terminé: 330<br>Oldest: 2026-05-06 09:35:21 +0200<br>Newest: 2026-05-26 11:54:28 +0200<br><br>Échoué: 1<br>Oldest: 2026-03-23 12:22:24 +0100<br>Newest: 2026-03-23 12:22:24 +0100<br><br>En attente: 14<br>Oldest: 2026-05-26 20:05:51 +0200<br>Newest: 2026-06-05 10:36:50 +0200<br><br><br>### Status report information ###<br><br>Generated at: 2026-05-26 12:05:42 +02:00<br>
    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there,

    Thank you for sharing the additional details.

    I understand this is currently a visual issue only and that you are experiencing it on both the Cart Block and Mini Cart Block with WooCommerce 10.7.0.

    I have checked the System Status Report, and everything appears normal there. At the moment, we’re also unable to replicate the issue on our side.

    I can see that a GeneratePress child theme is currently active on the site. For testing purposes, could you please try the following on a staging site:

    • Deactivate all plugins except WooCommerce
    • Temporarily switch to a default WordPress theme such as Twenty Twenty-Five
    • Then check whether the same issue still occurs

    You can safely perform these tests on a staging site using the following plugin so your live site remains unaffected:

    https://wordpress.org/plugins/wp-staging/

    Once tested, please let us know the results so we can continue investigating further.

    Thank you for your cooperation.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hi @shahzeenfarooq ,

    I created a staging site on my local PC and tested as requested (Twenty Twenty-Five theme + only WC plugin). Same visual issue.

    Have look here : https://ibb.co/RkXtm9Qw

    Hi @agent3w,

    Thanks for the update!

    I’d like to take a closer look. Could you share the link to your staging site?

    Looking forward to your response.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hi @frankremmy,

    Sorry I can’t, the staging site is on my PC, not online.

    Hi @agent3w,

    No worries, could you spin up one using WP Staging? The setup is in minutes and can be deleted once we’re done.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hello,

    Where can I send you the credentials ? (https://dev.agent3w.fr/galeriemj-paris.fr/)

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    Thank you for sharing the staging site URL. We do not need your site credentials and we always recommend not sharing them publicly.

    I have checked your site and I’m not able to see the issue on this site:
    https://dev.agent3w.fr/galeriemj-paris.fr/

    Here is a screenshot showing that everything appears fine on my end:
    https://go.screenpal.com/watch/cOhUlFntWZl

    It may be a browser-related issue. Could you please confirm which browser you are using when you are facing the issue? Also, could you try the following:

    • Disable all browser extensions
    • Check the issue in a private/incognito window
    • Try another browser

    Let us know if you still face the same issue.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hello @shahzeenfarooq ,

    The issue is still present on my side: https://ibb.co/Q3GgkLLT

    I have tested it in all the browsers installed on my PC with all extensions disabled: Vivaldi, Chrome, Chromium, Firefox, Edge, and Web (Safari-like browser).

    I noticed that there is no issue on my mobile phone. I also tested on other devices, and it works correctly on all of them, including my Chromebook and my Windows 11 laptop.

    So, I think the issue may be related to my operating system. I’m running the latest version of OpenSUSE Tumbleweed (linux).

    One question: in the WooCommerce files mentioned earlier, why is the minus sign represented by a standard “-” character, while the plus sign uses a special character instead of a regular “+” (like the minus sign does)?

    Plugin Support shahzeen(woo-hc)

    (@shahzeenfarooq)

    Hi there!

    Thank you for carrying out those tests and for sharing the results.

    Based on your findings, it does appear that the issue may be specific to your OpenSUSE Tumbleweed environment, since the behavior is not occurring on your mobile phone, Chromebook, Windows 11 laptop, or other tested devices and browsers.

    Regarding your question about the quantity selector icons:

    Both buttons actually use special Unicode characters, not standard ASCII:

    • Minus button uses (U+2212 — Mathematical Minus Sign)
    • Plus button uses (U+FF0B — Fullwidth Plus Sign)

    The reason is visual consistency. The standard ASCII + and - characters are thin and lightweight in most fonts. By using these Unicode equivalents, both buttons appear visually heavier, larger, and balanced next to each other — without needing any extra CSS to adjust font size or weight.

    It is essentially a typographic shortcut to make the buttons look polished out of the box.

    I hope this helps.

    Thread Starter Joffrey Nicoloff

    (@agent3w)

    Hello @shahzeenfarooq ,

    I installed the following fonts on my OpenSUSE Tumbleweed system, and the issue is now resolved:

    • google-noto-fonts
    • google-noto-sans-fonts
    • google-noto-serif-fonts

    I just wanted to let you know that in the WooCommerce files, the minus button uses the standard ASCII “-” character, whereas the plus button uses a non-standard Unicode/special character.

    This may cause display issues on some Linux distributions when the required fonts are not installed.

    Hi @agent3w,

    Thank you for taking the time to follow up and share what ultimately resolved the issue on your OpenSUSE Tumbleweed installation.

    It’s great to hear that installing the Noto font packages resolved the display problem. We also appreciate the additional observation regarding the character usage in the WooCommerce files. Your findings provide useful context for anyone who may encounter similar font rendering issues on Linux environments where the required fonts are not available by default.

    As you’ve marked the topic as resolved, I’ll go ahead and consider this one closed. Thank you again for your detailed testing and for sharing the outcome with the community.

    Your feedback can help other merchants who are considering WooCommerce or looking for guidance from real store owners about their experience with the plugin. If you have a moment, we’d appreciate a review of WooCommerce: https://wordpress.org/support/plugin/woocommerce/reviews/#new-post

    Thanks again for your contribution and for helping document the solution.

Viewing 13 replies - 1 through 13 (of 13 total)

You must be logged in to reply to this topic.