Custom WordPress and WooCommerce Development

Category: WooCommerce

  • Leverage block hooks to insert content

    Recently I saw a question asking how to customize the Product Collection block display… specifically how to insert a visual flash badge. Something that in the pre-block era would have been relatively straightforward by hooking into woocommerce_before_shop_loop_item_title. I believe we could actually make a block (And this is not the tutorial for how to make…

  • Extending WooCommerce Product REST API Responses

    WooCommerce supports many core properties when fetching a product via the REST API. In this tutorial, we’ll explore three code snippets that extend WooCommerce product responses, allowing for the retrieval and updating of custom fields and metadata. 1. Adding Custom Fields to Product Schema The first snippet focuses on modifying the product schema, defining additional…

  • Add Custom Meta Fields to WooCommerce Variations

    WooCommerce offers a robust platform for building and managing online stores, and one of its powerful features is product variations. Variations allow you to offer different versions of a product, such as varying sizes, colors, or other attributes. In this blog post, we’ll explore how to extend WooCommerce variations by adding custom information specific to…

  • How to Add a Customizable Field to a WooCommerce Product

    UPDATED 9/29/2019: Noticed some code typos and updated some of the display sections for compatibility with WooCommmerce 3.7. In this WooCommerce tutorial I will be showing you how to add a custom field to the front-end of a WooCommerce product. We’ll be adding a text input that a customer could use to enter some special…

  • Create WooCommerce Multicheck Form Field

    I’ve expanded on the code I posted in my tutorial on how to customize the WooCommerce Checkout. First you need to register the new checkout fields. This is where I’ve added a current_user_can() to test if the current user has the appropriate capabilities to see these extra fields. I’m using the manage_options capability because it…