科研技能库/WordPress WooCommerce 开发工作流
code_research
低风险

WordPress WooCommerce 开发工作流

WooCommerce 商店开发工作流,涵盖商店设置、支付集成、配送配置、自定义以及 WordPress 7.0 特性:AI 连接器、DataViews 和协作工具。

文件预览

1 个文件
SKILL.md
18.4 KB · 可预览
---
name: wordpress-woocommerce-development
description: "WooCommerce store development workflow covering store setup, payment integration, shipping configuration, customization, and WordPress 7.0 features: AI connectors, DataViews, and collaboration tools."
category: granular-workflow-bundle
risk: safe
source: personal
date_added: "2026-02-27"
---

# WordPress WooCommerce Development Workflow

## Overview

Specialized workflow for building WooCommerce stores including setup, payment gateway integration, shipping configuration, custom product types, store optimization, and WordPress 7.0 enhancements.

## WordPress 7.0 + WooCommerce Features

1. **AI Integration**
   - Auto-generate product descriptions
   - AI-powered customer service responses
   - Product summary generation
   - Marketing copy assistance

2. **DataViews for Orders**
   - Modern order management interfaces
   - Enhanced filtering and sorting
   - Activity layout for order history

3. **Real-Time Collaboration**
   - Collaborative order editing
   - Team notes and communication
   - Live inventory updates

4. **Admin Refresh**
   - Consistent WooCommerce admin styling
   - View transitions between screens

5. **Abilities API**
   - AI-powered order processing
   - Automated inventory management
   - Smart shipping recommendations

## When to Use This Workflow

Use this workflow when:
- Setting up WooCommerce stores
- Integrating payment gateways
- Configuring shipping methods
- Creating custom product types
- Building subscription products
- Implementing AI-powered features (WP 7.0)

## Workflow Phases

### Phase 1: Store Setup

#### Skills to Invoke
- `app-builder` - Project scaffolding
- `wordpress-penetration-testing` - WordPress patterns

#### Actions
1. Install WooCommerce
2. Run setup wizard
3. Configure store settings
4. Set up tax rules
5. Configure currency
6. Test with WordPress 7.0 admin

#### WordPress 7.0 + WooCommerce Setup
```php
// Minimum requirements for WP 7.0 + WooCommerce
// Add to wp-config.php for collaboration settings
define('WP_COLLABORATION_MAX_USERS', 10);

// AI features are enabled by installing a provider plugin
// Install OpenAI, Anthropic, or Gemini connector from WordPress.org
// Then configure via Settings > Connectors in admin panel
```

#### Copy-Paste Prompts
```
Use @app-builder to set up WooCommerce store
```

### Phase 2: Product Configuration

#### Skills to Invoke
- `wordpress-penetration-testing` - WooCommerce patterns

#### Actions
1. Create product categories
2. Add product attributes
3. Configure product types
4. Set up variable products
5. Add product images

#### AI-Powered Product Descriptions (WP 7.0)
```php
// Auto-generate product descriptions with AI
add_action('woocommerce_new_product', 'generate_ai_description', 10, 2);

function generate_ai_product_description($product_id, $product) {
    if ($product->get_description()) {
        return; // Skip if description exists
    }
    
    // Check if AI client is available
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    $title = $product->get_name();
    $short_description = $product->get_short_description();
    
    $prompt = sprintf(
        'Write a compelling WooCommerce product description for "%s" that highlights key features and benefits. Make it SEO-friendly and persuasive.',
        $title
    );
    
    if ($short_description) {
        $prompt .= "\n\nShort description: " . $short_description;
    }
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return;
    }
    
    // Use temperature for consistent output
    $result->using_temperature(0.3);
    $description = $result->generate_text();
    
    if ($description && !is_wp_error($description)) {
        $product->set_description($description);
        $product->save();
    }
}
```

#### Copy-Paste Prompts
```
Use @wordpress-penetration-testing to configure WooCommerce products
```

### Phase 3: Payment Integration

#### Skills to Invoke
- `payment-integration` - Payment processing
- `stripe-integration` - Stripe
- `paypal-integration` - PayPal

#### Actions
1. Choose payment gateways
2. Configure Stripe
3. Set up PayPal
4. Add offline payments
5. Test payment flows

#### WordPress 7.0 AI for Payments
```php
// AI-powered fraud detection
// Note: This is a demonstration - implement proper fraud detection with multiple signals

// Use AI to analyze order for fraud indicators
function ai_check_order_fraud($order_id) {
    // Check if AI client is available
    if (!function_exists('wp_ai_client_prompt')) {
        return false; // Default to no suspicion if AI unavailable
    }
    
    $order = wc_get_order($order_id);
    if (!$order) {
        return false;
    }
    
    $prompt = sprintf(
        'Analyze this order for potential fraud. Order total: $%s. Shipping address: %s, %s. Billing: %s. Is this suspicious? Return only "suspicious" or "clean" without explanation.',
        $order->get_total(),
        $order->get_shipping_address_1(),
        $order->get_shipping_city(),
        $order->get_billing_email()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return false;
    }
    
    $result->using_temperature(0.1); // Low temp for consistent classification
    $analysis = $result->generate_text();
    
    return (strpos($analysis, 'suspicious') !== false);
}
```

#### Copy-Paste Prompts
```
Use @stripe-integration to integrate Stripe payments
```

```
Use @paypal-integration to integrate PayPal
```

### Phase 4: Shipping Configuration

#### Skills to Invoke
- `wordpress-penetration-testing` - WooCommerce shipping

#### Actions
1. Set up shipping zones
2. Configure shipping methods
3. Add flat rate shipping
4. Set up free shipping
5. Integrate carriers

#### AI Shipping Recommendations (WP 7.0)
```php
// AI-powered shipping recommendations
add_action('woocommerce_after_checkout_form', 'ai_shipping_recommendations');

function ai_shipping_recommendations($checkout) {
    // Check if AI client is available
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    $cart = WC()->cart;
    if ($cart->is_empty() || !$cart->get_cart_contents_weight()) {
        return;
    }
    
    $prompt = sprintf(
        'Based on this cart (total weight: %d kg, destination: %s), recommend the best shipping method from: free shipping (orders over $100), flat rate ($9.99), or express ($24.99). Consider delivery time and cost efficiency. Respond with just the recommended method name.',
        $cart->get_cart_contents_weight(),
        WC()->customer->get_shipping_country()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return;
    }
    
    $result->using_temperature(0.1); // Low temp for consistent recommendation
    $recommendation = $result->generate_text();
    
    if (strpos($recommendation, 'express') !== false) {
        wc_add_notice(esc_html__('AI Recommendation: Consider Express shipping for faster delivery!', 'woocommerce'), 'info');
    }
}
```

#### Copy-Paste Prompts
```
Use @wordpress-penetration-testing to configure shipping
```

### Phase 5: Store Customization

#### Skills to Invoke
- `frontend-developer` - Store customization
- `frontend-design` - Store design

#### Actions
1. Customize product pages
2. Modify cart page
3. Style checkout flow
4. Create custom templates
5. Add custom fields

#### WordPress 7.0 Template Customization
```php
// Custom product template with WP 7.0 blocks
add_action('woocommerce_after_main_content', 'add_product_ai_chat');

function add_product_ai_chat() {
    if (!is_product()) return;
    
    global $product;
    ?>
    <div class="product-ai-assistant">
        <h3>AI Shopping Assistant</h3>
        <button id="ai-chat-toggle" type="button">Ask about this product</button>
        <div id="ai-chat-panel" style="display:none;">
            <div id="ai-chat-messages"></div>
            <input type="text" id="ai-chat-input" placeholder="Ask about sizing, materials, etc.">
        </div>
    </div>
    <script>
    document.getElementById('ai-chat-toggle').addEventListener('click', function() {
        const panel = document.getElementById('ai-chat-panel');
        panel.style.display = panel.style.display === 'none' ? 'block' : 'none';
    });
    </script>
    <?php
}

// AI-powered product Q&A
add_action('wp_ajax_ai_product_question', 'handle_ai_product_question');
add_action('wp_ajax_nopriv_ai_product_question', 'handle_ai_product_question');

function handle_ai_product_question() {
    // Verify nonce for security
    if (!check_ajax_referer('ai_product_question_nonce', 'nonce', false)) {
        wp_send_json_error(['message' => 'Security check failed']);
    }
    
    $question = isset($_POST['question']) ? sanitize_text_field($_POST['question']) : '';
    $product_id = isset($_POST['product_id']) ? intval($_POST['product_id']) : 0;
    
    if (empty($question) || empty($product_id)) {
        wp_send_json_error(['message' => 'Missing required fields']);
    }
    
    $product = wc_get_product($product_id);
    if (!$product) {
        wp_send_json_error(['message' => 'Product not found']);
    }
    
    // Check if AI client is available
    if (!function_exists('wp_ai_client_prompt')) {
        wp_send_json_error(['message' => 'AI service unavailable']);
    }
    
    $prompt = sprintf(
        'Customer question about "%s": %s\n\nProduct details:
- Price: $%s
- SKU: %s
- Stock: %s

Answer helpfully, accurately, and concisely:',
        $product->get_name(),
        $question,
        $product->get_price(),
        $product->get_sku(),
        $product->get_stock_status()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        wp_send_json_error(['message' => $result->get_error_message()]);
    }
    
    $result->using_temperature(0.4); // Slightly higher for more varied responses
    $answer = $result->generate_text();
    
    if (is_wp_error($answer)) {
        wp_send_json_error(['message' => 'Failed to generate response']);
    }
    
    wp_send_json_success(['answer' => $answer]);
}
```

#### Copy-Paste Prompts
```
Use @frontend-developer to customize WooCommerce templates
```

### Phase 6: Extensions

#### Skills to Invoke
- `wordpress-penetration-testing` - WooCommerce extensions

#### Actions
1. Install required extensions
2. Configure subscriptions
3. Set up bookings
4. Add memberships
5. Integrate marketplace

#### Abilities API for WooCommerce (WP 7.0)
```php
// Register ability categories first
add_action('wp_abilities_api_categories_init', function() {
    wp_register_ability_category('ecommerce', [
        'label' => __('E-Commerce', 'woocommerce'),
        'description' => __('WooCommerce store management and operations', 'woocommerce'),
    ]);
});

// Register abilities
add_action('wp_abilities_api_init', function() {
    // Register ability to update inventory
    wp_register_ability('woocommerce/update-inventory', [
        'label' => __('Update Inventory', 'woocommerce'),
        'description' => __('Update product stock quantity', 'woocommerce'),
        'category' => 'ecommerce',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'product_id' => ['type' => 'integer', 'description' => 'Product ID to update'],
                'quantity' => ['type' => 'integer', 'description' => 'New stock quantity']
            ],
            'required' => ['product_id', 'quantity']
        ],
        'output_schema' => [
            'type' => 'object',
            'properties' => [
                'success' => ['type' => 'boolean'],
                'new_quantity' => ['type' => 'integer']
            ]
        ],
        'execute_callback' => 'woocommerce_update_inventory_handler',
        'permission_callback' => function() {
            return current_user_can('manage_woocommerce');
        }
    ]);
    
    // Register ability to process orders
    wp_register_ability('woocommerce/process-order', [
        'label' => __('Process Order', 'woocommerce'),
        'description' => __('Mark order as processing and trigger fulfillment', 'woocommerce'),
        'category' => 'ecommerce',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'order_id' => ['type' => 'integer', 'description' => 'Order ID to process']
            ],
            'required' => ['order_id']
        ],
        'output_schema' => [
            'type' => 'object',
            'properties' => [
                'success' => ['type' => 'boolean'],
                'status' => ['type' => 'string']
            ]
        ],
        'execute_callback' => 'woocommerce_process_order_handler',
        'permission_callback' => function() {
            return current_user_can('manage_woocommerce');
        }
    ]);
});

// Handler for inventory update
function woocommerce_update_inventory_handler($input) {
    $product_id = isset($input['product_id']) ? absint($input['product_id']) : 0;
    $quantity = isset($input['quantity']) ? absint($input['quantity']) : 0;
    
    $product = wc_get_product($product_id);
    if (!$product) {
        return new WP_Error('invalid_product', 'Product not found');
    }
    
    // Update stock
    wc_update_product_stock($product, $quantity);
    
    return [
        'success' => true,
        'new_quantity' => $product->get_stock_quantity()
    ];
}

// Handler for order processing
function woocommerce_process_order_handler($input) {
    $order_id = isset($input['order_id']) ? absint($input['order_id']) : 0;
    
    $order = wc_get_order($order_id);
    if (!$order) {
        return new WP_Error('invalid_order', 'Order not found');
    }
    
    $order->update_status('processing');
    
    return [
        'success' => true,
        'status' => 'processing'
    ];
}
```

#### Copy-Paste Prompts
```
Use @wordpress-penetration-testing to configure WooCommerce extensions
```

### Phase 7: Optimization

#### Skills to Invoke
- `web-performance-optimization` - Performance
- `database-optimizer` - Database optimization

#### Actions
1. Optimize product images
2. Enable caching
3. Optimize database
4. Configure CDN
5. Set up lazy loading

#### WordPress 7.0 Performance
- Client-side media processing
- Font Library enabled
- Responsive grid block
- View transitions for perceived performance

#### Copy-Paste Prompts
```
Use @web-performance-optimization to optimize WooCommerce store
```

### Phase 8: Testing

#### Skills to Invoke
- `playwright-skill` - E2E testing
- `test-automator` - Test automation

#### Actions
1. Test checkout flow
2. Verify payment processing
3. Test email notifications
4. Check mobile experience
5. Performance testing

#### WordPress 7.0 Testing
- Test with new admin interface
- Verify AI features work
- Test DataViews for orders
- Verify collaboration features

#### AI-Powered Store Testing
```php
// Automated AI testing for fraud detection during checkout
add_action('woocommerce_after_checkout_validation', 'ai_validate_order', 20);

function ai_validate_order($fields, $errors) {
    // Skip if AI is not available
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    // Skip for logged-in users (assumed trusted)
    if (is_user_logged_in()) {
        return;
    }
    
    $order_data = [
        'email' => isset($fields['billing_email']) ? $fields['billing_email'] : '',
        'phone' => isset($fields['billing_phone']) ? $fields['billing_phone'] : '',
        'address' => isset($fields['billing_address_1']) ? $fields['billing_address_1'] : '',
    ];
    
    // Skip if insufficient data
    if (empty($order_data['email'])) {
        return;
    }
    
    $prompt = sprintf(
        'This is a checkout validation. Check if these details seem legitimate: email=%s, phone=%s, address=%s. Return only "valid" or "suspicious" without additional text.',
        sanitize_email($order_data['email']),
        sanitize_text_field($order_data['phone']),
        sanitize_text_field($order_data['address'])
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        // Don't block checkout on AI errors
        return;
    }
    
    $result->using_temperature(0.1); // Low temp for consistent classification
    $response = $result->generate_text();
    
    if (is_wp_error($response)) {
        return;
    }
    
    if (strpos($response, 'suspicious') !== false) {
        $errors->add('validation', __('Additional verification may be needed for this order. We will contact you if needed.', 'woocommerce'));
    }
}
```

#### Copy-Paste Prompts
```
Use @playwright-skill to test WooCommerce checkout flow
```

## WooCommerce + WordPress 7.0 AI Use Cases

1. **Product Descriptions**
   - Auto-generate from product attributes
   - Translate descriptions
   - SEO optimization

2. **Customer Service**
   - AI chatbot for common questions
   - Order status lookup
   - Return processing

3. **Inventory Management**
   - Demand forecasting
   - Low stock alerts
   - Reorder recommendations

4. **Marketing**
   - Personalized emails
   - Product recommendations
   - Abandoned cart recovery

5. **Order Processing**
   - Fraud detection
   - Shipping optimization
   - Invoice generation

## Quality Gates

- [ ] Products displaying correctly
- [ ] Checkout flow working
- [ ] Payments processing
- [ ] Shipping calculating
- [ ] Emails sending
- [ ] Mobile responsive
- [ ] AI features tested (WP 7.0)
- [ ] DataViews working (WP 7.0)

## Related Workflow Bundles

- `wordpress` - WordPress development
- `wordpress-theme-development` - Theme development
- `wordpress-plugin-development` - Plugin development
- `payment-integration` - Payment processing

## Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.

SKILL.md

元数据
namewordpress-woocommerce-development
descriptionWooCommerce 商店开发工作流,涵盖商店设置、支付集成、配送配置、自定义以及 WordPress 7.0 特性:AI 连接器、DataViews 和协作工具。
categorygranular-workflow-bundle
risksafe
sourcepersonal
date_added2026-02-27

WordPress WooCommerce 开发工作流

概述

用于构建 WooCommerce 商店的专业工作流,包括设置、支付网关集成、配送配置、自定义产品类型、商店优化以及 WordPress 7.0 增强功能。

WordPress 7.0 + WooCommerce 功能

  1. AI 集成

    • 自动生成产品描述
    • AI 驱动的客服回复
    • 产品摘要生成
    • 营销文案协助
  2. 订单的 DataViews

    • 现代化的订单管理界面
    • 增强的筛选和排序
    • 订单历史的活动布局
  3. 实时协作

    • 协作编辑订单
    • 团队笔记和沟通
    • 实时库存更新
  4. 管理后台刷新

    • 一致的 WooCommerce 管理样式
    • 屏幕之间的视图过渡
  5. 能力 API

    • AI 驱动的订单处理
    • 自动化库存管理
    • 智能配送推荐

何时使用此工作流

当需要以下情况时使用:

  • 设置 WooCommerce 商店
  • 集成支付网关
  • 配置配送方式
  • 创建自定义产品类型
  • 构建订阅产品
  • 实现 AI 驱动功能(WP 7.0)

工作流阶段

阶段 1:商店设置

调用的技能

  • app-builder - 项目脚手架
  • wordpress-penetration-testing - WordPress 模式

操作

  1. 安装 WooCommerce
  2. 运行设置向导
  3. 配置商店设置
  4. 设置税费规则
  5. 配置货币
  6. 使用 WordPress 7.0 管理后台进行测试

WordPress 7.0 + WooCommerce 设置

php
// WP 7.0 + WooCommerce 的最低要求
// 将协作设置添加到 wp-config.php
define('WP_COLLABORATION_MAX_USERS', 10);

// 通过安装提供商插件启用 AI 功能
// 从 WordPress.org 安装 OpenAI、Anthropic 或 Gemini 连接器
// 然后在管理后台的设置 > 连接器中配置

复制粘贴提示

text
使用 @app-builder 设置 WooCommerce 商店

阶段 2:产品配置

调用的技能

  • wordpress-penetration-testing - WooCommerce 模式

操作

  1. 创建产品类别
  2. 添加产品属性
  3. 配置产品类型
  4. 设置可变产品
  5. 添加产品图片

AI 驱动的产品描述(WP 7.0)

php
// 使用 AI 自动生成产品描述
add_action('woocommerce_new_product', 'generate_ai_description', 10, 2);

function generate_ai_product_description($product_id, $product) {
    if ($product->get_description()) {
        return; // 如果描述已存在则跳过
    }
    
    // 检查 AI 客户端是否可用
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    $title = $product->get_name();
    $short_description = $product->get_short_description();
    
    $prompt = sprintf(
        '为“%s”撰写一份引人注目的 WooCommerce 产品描述,突出关键功能和优势。使其对 SEO 友好且具有说服力。',
        $title
    );
    
    if ($short_description) {
        $prompt .= "\n\n简短描述:" . $short_description;
    }
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return;
    }
    
    // 使用温度参数以获得一致输出
    $result->using_temperature(0.3);
    $description = $result->generate_text();
    
    if ($description && !is_wp_error($description)) {
        $product->set_description($description);
        $product->save();
    }
}

复制粘贴提示

text
使用 @wordpress-penetration-testing 配置 WooCommerce 产品

阶段 3:支付集成

调用的技能

  • payment-integration - 支付处理
  • stripe-integration - Stripe
  • paypal-integration - PayPal

操作

  1. 选择支付网关
  2. 配置 Stripe
  3. 设置 PayPal
  4. 添加线下支付
  5. 测试支付流程

WordPress 7.0 的支付 AI

php
// AI 驱动的欺诈检测
// 注意:这是一个演示 - 应使用多种信号实现适当的欺诈检测

// 使用 AI 分析订单的欺诈指标
function ai_check_order_fraud($order_id) {
    // 检查 AI 客户端是否可用
    if (!function_exists('wp_ai_client_prompt')) {
        return false; // 如果 AI 不可用,默认不怀疑
    }
    
    $order = wc_get_order($order_id);
    if (!$order) {
        return false;
    }
    
    $prompt = sprintf(
        '分析此订单是否存在欺诈。订单总额:$%s。配送地址:%s, %s。账单:%s。是否可疑?仅回复“suspicious”或“clean”,不要解释。',
        $order->get_total(),
        $order->get_shipping_address_1(),
        $order->get_shipping_city(),
        $order->get_billing_email()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return false;
    }
    
    $result->using_temperature(0.1); // 低温度以获得一致分类
    $analysis = $result->generate_text();
    
    return (strpos($analysis, 'suspicious') !== false);
}

复制粘贴提示

text
使用 @stripe-integration 集成 Stripe 支付
text
使用 @paypal-integration 集成 PayPal

阶段 4:配送配置

调用的技能

  • wordpress-penetration-testing - WooCommerce 配送

操作

  1. 设置配送区域
  2. 配置配送方式
  3. 添加固定费率配送
  4. 设置免费配送
  5. 集成承运商

AI 配送推荐(WP 7.0)

php
// AI 驱动的配送推荐
add_action('woocommerce_after_checkout_form', 'ai_shipping_recommendations');

function ai_shipping_recommendations($checkout) {
    // 检查 AI 客户端是否可用
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    $cart = WC()->cart;
    if ($cart->is_empty() || !$cart->get_cart_contents_weight()) {
        return;
    }
    
    $prompt = sprintf(
        '根据此购物车(总重量:%d 公斤,目的地:%s),从以下方式中推荐最佳配送方式:免费配送(订单满 100 美元)、固定费率(9.99 美元)或快递(24.99 美元)。考虑送达时间和成本效益。仅回复推荐的方式名称。',
        $cart->get_cart_contents_weight(),
        WC()->customer->get_shipping_country()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        return;
    }
    
    $result->using_temperature(0.1); // 低温度以获得一致推荐
    $recommendation = $result->generate_text();
    
    if (strpos($recommendation, 'express') !== false) {
        wc_add_notice(esc_html__('AI 推荐:考虑快递配送,以便更快送达!', 'woocommerce'), 'info');
    }
}

复制粘贴提示

text
使用 @wordpress-penetration-testing 配置配送

阶段 5:商店定制

调用的技能

  • frontend-developer - 商店定制
  • frontend-design - 商店设计

操作

  1. 定制产品页面
  2. 修改购物车页面
  3. 美化结账流程
  4. 创建自定义模板
  5. 添加自定义字段

WordPress 7.0 模板定制

php
// 使用 WP 7.0 块的自定义产品模板
add_action('woocommerce_after_main_content', 'add_product_ai_chat');

function add_product_ai_chat() {
    if (!is_product()) return;
    
    global $product;
    ?>
    <div class="product-ai-assistant">
        <h3>AI 购物助手</h3>
        <button id="ai-chat-toggle" type="button">询问有关此产品的问题</button>
        <div id="ai-chat-panel" style="display:none;">
            <div id="ai-chat-messages"></div>
            <input type="text" id="ai-chat-input" placeholder="询问尺码、材质等。">
        </div>
    </div>
    <script>
    document.getElementById('ai-chat-toggle').addEventListener('click', function() {
        const panel = document.getElementById('ai-chat-panel');
        panel.style.display = panel.style.display === 'none' ? 'block' : 'none';
    });
    </script>
    <?php
}

// AI 驱动的产品问答
add_action('wp_ajax_ai_product_question', 'handle_ai_product_question');
add_action('wp_ajax_nopriv_ai_product_question', 'handle_ai_product_question');

function handle_ai_product_question() {
    // 验证 nonce 以确保安全
    if (!check_ajax_referer('ai_product_question_nonce', 'nonce', false)) {
        wp_send_json_error(['message' => '安全检查失败']);
    }
    
    $question = isset($_POST['question']) ? sanitize_text_field($_POST['question']) : '';
    $product_id = isset($_POST['product_id']) ? intval($_POST['product_id']) : 0;
    
    if (empty($question) || empty($product_id)) {
        wp_send_json_error(['message' => '缺少必填字段']);
    }
    
    $product = wc_get_product($product_id);
    if (!$product) {
        wp_send_json_error(['message' => '未找到产品']);
    }
    
    // 检查 AI 客户端是否可用
    if (!function_exists('wp_ai_client_prompt')) {
        wp_send_json_error(['message' => 'AI 服务不可用']);
    }
    
    $prompt = sprintf(
        '关于“%s”的客户问题:%s\n\n产品详情:
- 价格:$%s
- SKU:%s
- 库存:%s

请回答得有帮助、准确且简洁:',
        $product->get_name(),
        $question,
        $product->get_price(),
        $product->get_sku(),
        $product->get_stock_status()
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        wp_send_json_error(['message' => $result->get_error_message()]);
    }
    
    $result->using_temperature(0.4); // 稍高的温度以获得更丰富多样的回复
    $answer = $result->generate_text();
    
    if (is_wp_error($answer)) {
        wp_send_json_error(['message' => '生成回复失败']);
    }
    
    wp_send_json_success(['answer' => $answer]);
}

复制粘贴提示

text
使用 @frontend-developer 定制 WooCommerce 模板

阶段 6:扩展

调用的技能

  • wordpress-penetration-testing - WooCommerce 扩展

操作

  1. 安装所需扩展
  2. 配置订阅
  3. 设置预订
  4. 添加会员
  5. 集成市场

WooCommerce 的能力 API(WP 7.0)

php
// 首先注册能力类别
add_action('wp_abilities_api_categories_init', function() {
    wp_register_ability_category('ecommerce', [
        'label' => __('电子商务', 'woocommerce'),
        'description' => __('WooCommerce 商店管理和运营', 'woocommerce'),
    ]);
});

// 注册能力
add_action('wp_abilities_api_init', function() {
    // 注册更新库存的能力
    wp_register_ability('woocommerce/update-inventory', [
        'label' => __('更新库存', 'woocommerce'),
        'description' => __('更新产品库存数量', 'woocommerce'),
        'category' => 'ecommerce',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'product_id' => ['type' => 'integer', 'description' => '要更新的产品 ID'],
                'quantity' => ['type' => 'integer', 'description' => '新库存数量']
            ],
            'required' => ['product_id', 'quantity']
        ],
        'output_schema' => [
            'type' => 'object',
            'properties' => [
                'success' => ['type' => 'boolean'],
                'new_quantity' => ['type' => 'integer']
            ]
        ],
        'execute_callback' => 'woocommerce_update_inventory_handler',
        'permission_callback' => function() {
            return current_user_can('manage_woocommerce');
        }
    ]);
    
    // 注册处理订单的能力
    wp_register_ability('woocommerce/process-order', [
        'label' => __('处理订单', 'woocommerce'),
        'description' => __('将订单标记为处理中并触发履行', 'woocommerce'),
        'category' => 'ecommerce',
        'input_schema' => [
            'type' => 'object',
            'properties' => [
                'order_id' => ['type' => 'integer', 'description' => '要处理的订单 ID']
            ],
            'required' => ['order_id']
        ],
        'output_schema' => [
            'type' => 'object',
            'properties' => [
                'success' => ['type' => 'boolean'],
                'status' => ['type' => 'string']
            ]
        ],
        'execute_callback' => 'woocommerce_process_order_handler',
        'permission_callback' => function() {
            return current_user_can('manage_woocommerce');
        }
    ]);
});

// 库存更新处理函数
function woocommerce_update_inventory_handler($input) {
    $product_id = isset($input['product_id']) ? absint($input['product_id']) : 0;
    $quantity = isset($input['quantity']) ? absint($input['quantity']) : 0;
    
    $product = wc_get_product($product_id);
    if (!$product) {
        return new WP_Error('invalid_product', '未找到产品');
    }
    
    // 更新库存
    wc_update_product_stock($product, $quantity);
    
    return [
        'success' => true,
        'new_quantity' => $product->get_stock_quantity()
    ];
}

// 订单处理函数
function woocommerce_process_order_handler($input) {
    $order_id = isset($input['order_id']) ? absint($input['order_id']) : 0;
    
    $order = wc_get_order($order_id);
    if (!$order) {
        return new WP_Error('invalid_order', '未找到订单');
    }
    
    $order->update_status('processing');
    
    return [
        'success' => true,
        'status' => 'processing'
    ];
}

复制粘贴提示

text
使用 @wordpress-penetration-testing 配置 WooCommerce 扩展

阶段 7:优化

调用的技能

  • web-performance-optimization - 性能
  • database-optimizer - 数据库优化

操作

  1. 优化产品图片
  2. 启用缓存
  3. 优化数据库
  4. 配置 CDN
  5. 设置延迟加载

WordPress 7.0 性能

  • 客户端媒体处理
  • 启用字体库
  • 响应式网格块
  • 视图过渡以提升感知性能

复制粘贴提示

text
使用 @web-performance-optimization 优化 WooCommerce 商店

阶段 8:测试

调用的技能

  • playwright-skill - 端到端测试
  • test-automator - 测试自动化

操作

  1. 测试结账流程
  2. 验证支付处理
  3. 测试邮件通知
  4. 检查移动端体验
  5. 性能测试

WordPress 7.0 测试

  • 使用新管理界面进行测试
  • 验证 AI 功能是否正常
  • 测试订单的 DataViews
  • 验证协作功能

AI 驱动的商店测试

php
// 结账时的自动化 AI 测试欺诈检测
add_action('woocommerce_after_checkout_validation', 'ai_validate_order', 20);

function ai_validate_order($fields, $errors) {
    // 如果 AI 不可用则跳过
    if (!function_exists('wp_ai_client_prompt')) {
        return;
    }
    
    // 跳过已登录用户(假定受信任)
    if (is_user_logged_in()) {
        return;
    }
    
    $order_data = [
        'email' => isset($fields['billing_email']) ? $fields['billing_email'] : '',
        'phone' => isset($fields['billing_phone']) ? $fields['billing_phone'] : '',
        'address' => isset($fields['billing_address_1']) ? $fields['billing_address_1'] : '',
    ];
    
    // 如果数据不足则跳过
    if (empty($order_data['email'])) {
        return;
    }
    
    $prompt = sprintf(
        '这是一个结账验证。检查这些详细信息是否合法:email=%s, phone=%s, address=%s。仅返回“valid”或“suspicious”,不要附加文字。',
        sanitize_email($order_data['email']),
        sanitize_text_field($order_data['phone']),
        sanitize_text_field($order_data['address'])
    );
    
    $result = wp_ai_client_prompt($prompt);
    
    if (is_wp_error($result)) {
        // AI 出错时不阻止结账
        return;
    }
    
    $result->using_temperature(0.1); // 低温度以获得一致分类
    $response = $result->generate_text();
    
    if (is_wp_error($response)) {
        return;
    }
    
    if (strpos($response, 'suspicious') !== false) {
        $errors->add('validation', __('此订单可能需要额外验证。如有需要,我们将与您联系。', 'woocommerce'));
    }
}

复制粘贴提示

text
使用 @playwright-skill 测试 WooCommerce 结账流程

WooCommerce + WordPress 7.0 AI 用例

  1. 产品描述

    • 根据产品属性自动生成
    • 翻译描述
    • SEO 优化
  2. 客户服务

    • 用于常见问题的 AI 聊天机器人
    • 订单状态查询
    • 退货处理
  3. 库存管理

    • 需求预测
    • 低库存警报
    • 补货推荐
  4. 营销

    • 个性化电子邮件
    • 产品推荐
    • 弃购挽回
  5. 订单处理

    • 欺诈检测
    • 配送优化
    • 发票生成

质量关卡

  • 产品显示正确
  • 结账流程正常工作
  • 支付处理正常
  • 配送计算正常
  • 邮件发送正常
  • 移动端响应式
  • AI 功能已测试(WP 7.0)
  • DataViews 正常工作(WP 7.0)

相关工作流包

  • wordpress - WordPress 开发
  • wordpress-theme-development - 主题开发
  • wordpress-plugin-development - 插件开发
  • payment-integration - 支付处理

限制

  • 仅当任务明确符合上述范围时使用此技能。
  • 不应将输出视为对环境特定验证、测试或专家评审的替代。
  • 如果缺少所需输入、权限、安全边界或成功标准,请停止并请求澄清。