| name | woocommerce |
| description | WooCommerce development — products, variations, pricing rules, payment gateways, hooks, cart/checkout customization, WebToffee CSV import/export |
| version | 1.0.0 |
| author | veekunth217 |
| tags | ["woocommerce","wordpress","ecommerce","payment-gateway","hooks","products","cart","checkout","csv","webtoffee"] |
| platforms | ["claude-code","cursor","codex"] |
WooCommerce Skill
WooCommerce store development — from product setup to custom pricing, payment gateways, and checkout customization.
RULE: Show code plan before generating any hooks or overrides. Wait for GO.
🚧 Status: Stub — implementation pending
This reference skill has the structure but the snippet content is still being filled in
(you'll see <!-- TODO --> placeholders below). It activates and tells Claude the topic
exists, but won't yield deep snippets yet.
Want to help? Pick any TODO, write the snippet, open a PR. See CONTRIBUTING.md.
Each contribution moves the skill closer to "Ready" status.
Capabilities
Product Setup & Variations
Custom Pricing Rules
Payment Gateway Integration
WooCommerce Hooks
Cart & Checkout Customization
WebToffee CSV Import/Export
Common Patterns
Custom pricing by user role
add_filter( 'woocommerce_product_get_price', function( $price, $product ) {
if ( current_user_can( 'wholesale_customer' ) ) {
return $price * 0.8;
}
return $price;
}, 10, 2 );
Add custom checkout field
add_action( 'woocommerce_after_order_notes', function( $checkout ) {
woocommerce_form_field( 'custom_field', [
'type' => 'text',
'class' => ['form-row-wide'],
'label' => __( 'Custom Field' ),
'placeholder' => __( 'Enter value' ),
'required' => false,
], $checkout->get_value( 'custom_field' ) );
});
add_action( 'woocommerce_checkout_update_order_meta', function( $order_id ) {
if ( ! empty( $_POST['custom_field'] ) ) {
update_post_meta( $order_id, '_custom_field', sanitize_text_field( $_POST['custom_field'] ) );
}
});
Order status change hook
add_action( 'woocommerce_order_status_changed', function( $order_id, $from, $to, $order ) {
if ( $to === 'completed' ) {
}
}, 10, 4 );