# WordPress中配合使用ACF插件实现下单功能，同时支持后台页面查看管理的实现步骤

在WordPress中使用Advanced Custom Fields (ACF) 插件来实现下单功能并在后台管理下单信息，可以按照以下步骤进行：

### 步骤 1：创建自定义表单字段

1. **安装并激活ACF插件**：
    
    
    - 到WordPress后台的插件页面，搜索“Advanced Custom Fields”，安装并激活。
2. **创建自定义字段组**：
    
    
    - 进入WordPress后台，找到ACF插件选项，选择“Custom Fields”&gt;“Add New”来创建一个新的字段组。
    - 为字段组命名（如“下单表单”），并设置字段组的显示条件（例如，选择Post Type为“订单”）。
    - 添加需要的字段，例如： 
        - `customer_name` (客户姓名)
        - `customer_email` (客户邮箱)
        - `order_item` (订单项目)
        - `quantity` (数量)
        - `total_price` (总价格)
        - `order_status` (订单状态)
    - 保存字段组。

### 步骤 2：创建“订单”自定义文章类型

1. **添加自定义文章类型**：
    
    
    - 可以通过插件（如Custom Post Type UI）或代码来创建新的文章类型。以下是代码示例，可以添加到主题的 `functions.php` 文件中：
    - ```php
        function create_order_post_type() {
            register_post_type('order',
                array(
                    'labels' => array(
                        'name' => __('Orders'),
                        'singular_name' => __('Order')
                    ),
                    'public' => true,
                    'has_archive' => true,
                    'supports' => array('title', 'editor'),
                    'menu_position' => 5,
                    'show_in_menu' => true,
                )
            );
        }
        add_action('init', 'create_order_post_type');
        
        ```
2. **与ACF字段组关联**：
    
    
    - - 确保在ACF字段组的显示条件中将其与“订单”文章类型关联，以便在创建或编辑订单时能看到这些自定义字段。

### 步骤 3：前端实现下单表单

1. **创建下单页面模板**：
    
    
    - 在主题文件夹中创建一个新的页面模板文件，例如 `order-form.php`。
2. **表单代码实现**：
    
    
    - 在该页面模板中添加表单代码，以便用户提交订单。可以使用`acf_form()`函数来显示ACF创建的表单。例如：
    - ```php
        <?php
        /* Template Name: Order Form */
        get_header();
        ?>
        
        <h2>下单表单</h2>
        <?php
        acf_form(array(
            'post_id' => 'new_post',
            'post_title' => true,
            'post_content' => true,
            'new_post' => array(
                'post_type' => 'order',
                'post_status' => 'publish'
            ),
            'field_groups' => array('your-acf-field-group-id'), // 替换为字段组的ID
            'submit_value' => '提交订单'
        ));
        ?>
        
        <?php get_footer(); ?>
        
        ```
3. **表单处理及确认**：
    
    
    - - 提交表单后，ACF会自动处理并创建一个“订单”文章。可以通过ACF的 `acf/save_post` 钩子进一步处理，比如发送确认邮件或通知管理员。
    
    ### 步骤 4：在后台管理订单
    
    
    1. **订单管理页面**：
        
        
        - “订单”自定义文章类型会在后台生成一个订单管理菜单项，点击即可查看所有订单。
        - 每个订单可以像普通文章一样进行编辑，在编辑页面可以看到自定义的ACF字段并查看或修改订单信息。
    2. **订单状态管理**：
        
        
        - 通过ACF字段（如 `order_status`）记录订单的处理状态，并在后台进行修改。
    
    ### 步骤 5：显示订单信息
    
    
    1. **前端显示订单详情**：
        
        
        - 如果需要在前端页面显示订单详情（如“我的订单”页面），可以使用 `get_field()` 函数从ACF中获取订单信息并进行展示。
    2. **后台显示订单概览**：
        
        
        - 通过“屏幕选项”调整后台显示的字段，或者使用ACF Pro中的 `ACF Admin Columns` 扩展以自定义显示哪些ACF字段在后台订单列表中可见。
    
    这样，通过ACF和自定义文章类型，您可以轻松创建一个下单功能并管理订单信息。