jacobarriola / woographql-product-bundles
Add WooCommerce Product Bundles support to the WPGraphQL schema.
Installs: 595
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 1
Forks: 4
Open Issues: 4
Type:wordpress-plugin
pkg:composer/jacobarriola/woographql-product-bundles
Requires
- php: >=7.1.0
This package is not auto-updated.
Last update: 2025-12-27 22:42:28 UTC
README
Add WooCommerce Product Bundle support to your WPGraphQL schema.
Requirements
- PHP +7.1
- WordPress +5.0
- WPGraphQL +1
- WooGraphQL +0.8.0
- WooCommerce +4.7.0
- WooCommerce Product Bundles +0.5.0
Documentation
Add To Cart Mutation
For now, add to cart is a different mutation since additional data is required. The mutation
mimics the existing WooGraphQL addToCart, with a few differences.
Essentially it attempts to mimic the underlying Product Bundles' API, which is found https://docs.woocommerce.com/document/bundles/bundles-functions-reference/#add_bundle_to_cart
mutation addToCartBundle(input: { clientMutationId: "123" quantity: 1 productId: 456789 extraData : SEE_BELOW } ) { ... }
The extraData input is a JSON value.
Arguments
object index: The bundle item IDproduct_id: Product ID of the bundled itemquantity: Quantity of the bundled itemvariation_id: The variation ID of the selected variation, if applicableattributes: An object with the key asattribute_ATTRIBUTE_SLUGand the value as the attribute value, if applicable
Example:
{
"765": {
"product_id": "9876",
"quantity": "1",
"optional_selected": "yes",
"variation_id": "4321",
"attributes": {
"attribute_pa_color": "red",
"attribute_pa_size": "2xl"
}
},
"896": {
"product_id": "1234",
"quantity": "1"
}
}
In this example, the Bundle contains two Bundle Items, 765 and 896. 765 is a variable
product (designated by the product_id: 9876). The variation_id and attributes are required
. On the other hand, 896 is a simple product. It's only passing in the product_id.
Todo
- return appropriate types instead of JSON for
allowedVariationsanddefaultVariationAttributes - simplify the
addToCartBundleor merge it with the coreaddToCartmutation