本插件专为高效商品数据管理设计,支持免登发布商品、自动查重(基于SKU)、智能建立多级网站分类与选项变量(默认使用任意变量),并自动远程图片侧载至本地媒体库 + 重复检测。同时,支持多属性组发布,支持更新产品,相同标题更新内容、库存、变体,支持创建分类,支持创建产品标签,兼容系统原生字段及常用插件字段,全面采用WordPress原生函数,保障跨版本稳定运行。

火车头发布模块使用说明

Locoy6-product.php 是一个专为火车头采集器设计的WooCommerce产品发布接口,支持创建和更新简单产品及变体产品。本接口具有自动检测火车头采集器、智能处理产品变体、远程图片下载等功能。

基本配置

1. 修改配置参数

在使用前,请打开Locoy6-product.php文件,修改以下配置项:

<span class="hljs-comment">// ----------------- 配置区(请根据实</span>
际修改) <span class="hljs-subst">-----------------</span>
<span class="hljs-variable">$secretWord</span> <span class="hljs-subst">=</span> <span class="hljs-string">'123456'</span>; <span class="hljs-comment">// 修改为你的</span>
密钥,火车头采集器需要使用此密钥
<span class="hljs-variable">$checkTitle</span> <span class="hljs-subst">=</span> <span class="hljs-literal">true</span>; <span class="hljs-comment">// 启用标题查重,</span>
相同标题时更新已有产品
<span class="hljs-variable">$locoyCompatible</span> <span class="hljs-subst">=</span> <span class="hljs-literal">true</span>; <span class="hljs-comment">// 是否启用</span>
火车头采集器兼容模式
<span class="hljs-variable">$locoyTextMode</span> <span class="hljs-subst">=</span> <span class="hljs-literal">false</span>; <span class="hljs-comment">// 是否使用纯</span>
文本响应模式
<span class="hljs-variable">$locoySimpleMode</span> <span class="hljs-subst">=</span> <span class="hljs-literal">false</span>; <span class="hljs-comment">// 是否使用</span>
极简响应模式

2. 接口地址

接口地址为: http://你的网站域名/Locoy6-product.php

火车头采集器设置

1. 基本请求参数

火车头采集器需要向接口发送以下基本参数:

POST http:<span class="hljs-comment">//你的网站域名/</span>
Locoy6<span class="hljs-attribute">-product</span><span class="hljs-built_in">.</span>php<span class="hljs-subst">?</span>action<span class="hljs-subst">=</span>save<span class="hljs-subst">&</span>
secret<span class="hljs-subst">=</span>你的密钥

2. 请求格式

支持两种请求格式:

  • JSON格式 :Content-Type为application/json
  • 表单格式 :Content-Type为application/x-www-form-urlencoded或multipart/form-data
    3. 自动检测功能
    接口会自动检测火车头采集器,当检测到以下情况时会自动启用兼容模式:
  • User-Agent包含”Locoy”、”locoy”或”火车头”
  • Referer包含”locoy”
    产品字段说明
    基本字段
    字段名 类型 必填 说明 product_title 或 title 字符串 是 产品标题 product_content 或 content 字符串 是 产品描述 product_excerpt 或 excerpt 字符串 否 产品摘要 product_category 或 categories 字符串/数组 否 产品分类,多个用逗号分隔 tags_input 或 tags 字符串/数组 否 产品标签,多个用逗号分隔 product_author 整数/字符串 否 作者ID或用户名,默认为配置中的默认作者

价格和库存字段

字段名 类型 说明 regular_price 或 price 字符串 常规价格 sale_price 字符串 销售价格 sku 字符串 产品SKU stock 整数 库存数量 manage_stock 布尔值 是否管理库存

产品类型

字段名 类型 说明 product-type 或 type 字符串 产品类型:simple(简单产品)或variable(变体产品)

图片字段

字段名 类型 说明 thumbnail 或 _thumbnail_id 字符串/整数 产品主图URL或附件ID product_image_gallery 或 images 字符串/数组 产品相册图片URL,多个用逗号分隔

变体产品设置

1. 使用variable字段(推荐)

可以使用”|||”分隔的扁平字符串格式定义变体:

variable=Color=Red<span class="hljs-string">|Blue|Green|||</span>
Size=S<span class="hljs-string">|M|L|||regular_price=99|||</span>
sale_price=<span class="hljs-number">79</span><span class="hljs-string">|||https://example.com/</span>
img1.jpg<span class="hljs-string">|https://example.com/img2.</span>
jpg

2. 使用JSON格式

也可以使用JSON格式定义变体:

{
    <span class="hljs-string">"attributes"</span>: {
        <span class="hljs-string">"Color"</span>: <span class="hljs-string">"Red|Blue|Green"</span>,
        <span class="hljs-string">"Size"</span>: <span class="hljs-string">"S|M|L"</span>
    },
    <span class="hljs-string">"regular_price"</span>: <span class="hljs-string">"99"</span>,
    <span class="hljs-string">"sale_price"</span>: <span class="hljs-string">"79"</span>,
    <span class="hljs-string">"gallery"</span>: [
        <span class="hljs-string">"https://example.com/img1.</span>
        jpg<span class="hljs-string">",</span>
        <span class="hljs-string">"https://example.com/img2.</span>
        jpg<span class="hljs-string">"</span>
    ]
}

3. 显式变体定义

如果需要为每个变体设置不同的价格和图片,可以使用显式变体定义:

{
    <span class="hljs-string">"variations"</span>: [
        {
            <span class="hljs-string">"attributes"</span>: {
                <span class="hljs-string">"Color"</span>: <span class="hljs-string">"Red"</span>,
                <span class="hljs-string">"Size"</span>: <span class="hljs-string">"S"</span>
            },
            <span class="hljs-string">"regular_price"</span>: <span class="hljs-string">"99"</span>,
            <span class="hljs-string">"sale_price"</span>: <span class="hljs-string">"79"</span>,
            <span class="hljs-string">"sku"</span>: <span class="hljs-string">"PROD-RED-S"</span>,
            <span class="hljs-string">"image"</span>: <span class="hljs-string">"https://</span>
            example.com/red-s.jpg<span class="hljs-string">"</span>
        },
        {
            <span class="hljs-string">"attributes"</span>: {
                <span class="hljs-string">"Color"</span>: <span class="hljs-string">"Blue"</span>,
                <span class="hljs-string">"Size"</span>: <span class="hljs-string">"M"</span>
            },
            <span class="hljs-string">"regular_price"</span>: <span class="hljs-string">"109"</span>,
            <span class="hljs-string">"sale_price"</span>: <span class="hljs-string">"89"</span>,
            <span class="hljs-string">"sku"</span>: <span class="hljs-string">"PROD-BLU-M"</span>,
            <span class="hljs-string">"image"</span>: <span class="hljs-string">"https://</span>
            example.com/blue-m.jpg<span class="hljs-string">"</span>
        }
    ]
}

火车头采集器特殊参数

1. 兼容模式控制

参数名 类型 说明 locoy_compatible 布尔值 是否启用火车头采集器兼容模式 locoy_text_mode 布尔值 是否使用纯文本响应模式 locoy_simple_mode 布尔值 是否使用极简响应模式

2. URL参数控制

可以通过URL参数临时控制响应模式:

<span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/你的网站域名/</span><span class="hljs-constant">Locoy6</span>-product.
php?force_text_mode=<span class="hljs-keyword">true</span>
<span class="hljs-symbol">http:</span>/<span class="hljs-regexp">/你的网站域名/</span><span class="hljs-constant">Locoy6</span>-product.
php?simple_mode=<span class="hljs-keyword">true</span>

响应格式

1. 标准JSON响应

{
    <span class="hljs-string">"success"</span><span class="hljs-symbol">:</span> <span class="hljs-keyword">true</span>,
    <span class="hljs-string">"message"</span><span class="hljs-symbol">:</span> <span class="hljs-string">"发布成功"</span>,
    <span class="hljs-string">"post_id"</span><span class="hljs-symbol">:</span> <span class="hljs-number">123</span>,
    <span class="hljs-string">"url"</span><span class="hljs-symbol">:</span> <span class="hljs-string">"http://你的网站域名/?
    post_type=product&p=123"</span>,
    <span class="hljs-string">"is_new"</span><span class="hljs-symbol">:</span> <span class="hljs-keyword">true</span>
}

2. 火车头采集器兼容响应

当检测到火车头采集器时,会返回纯文本格式的响应:

发布成功,成功标识码:发布成功
网页源代码<span class="hljs-symbol">:</span>
{
    <span class="hljs-string">"success"</span><span class="hljs-symbol">:</span> <span class="hljs-keyword">true</span>,
    <span class="hljs-string">"message"</span><span class="hljs-symbol">:</span> <span class="hljs-string">"发布成功"</span>,
    <span class="hljs-string">"post_id"</span><span class="hljs-symbol">:</span> <span class="hljs-number">123</span>,
    <span class="hljs-string">"url"</span><span class="hljs-symbol">:</span> <span class="hljs-string">"http://你的网站域名/?
    post_type=product&p=123"</span>,
    <span class="hljs-string">"is_new"</span><span class="hljs-symbol">:</span> <span class="hljs-keyword">true</span>
}

3. 极简响应

当启用极简模式时,只返回最简单的响应:

<span class="hljs-ok">ok</span>

火车头采集器配置示例

1. 基本配置

  1. 接口地址 : http://你的网站域名/Locoy6-product.php?action=save&secret=你的密钥
  2. 请求方式 :POST
  3. 编码 :UTF-8
    2. 参数映射
    火车头字段 接口字段 说明 标题 product_title 产品标题 内容 product_content 产品描述 分类 product_category 产品分类 价格 regular_price 产品价格 图片 thumbnail 产品主图

3. 发布规则设置

  1. 成功标识 : 发布成功 (创建新产品)或 更新成功 (更新现有产品)
  2. 失败标识 : 发布失败
  3. 内容获取 :选择”网页源代码”获取完整的JSON响应
    常见问题与解决方案
    1. 接口密码错误
    确保火车头采集器中设置的密钥与Locoy6-product.php文件中的$secretWord一致。

2. 产品创建成功但显示”发布失败”

尝试在请求URL中添加 &simple_mode=true 参数,使用极简响应模式。

3. 变体产品创建失败

确保:

  • product-type设置为”variable”
  • 提供了至少一个可用于变体的属性
  • 属性值使用”|”分隔多个选项
    4. 图片无法显示
    确保:
  • 图片URL是可访问的
  • 图片格式为jpg、png、gif等常见格式
  • 服务器有足够的权限下载和保存图片
    高级功能
    1. 自动创建分类和标签
    接口会自动创建不存在的分类和标签。

2. 自动检测重复产品

当$checkTitle为true时,系统会检查是否有相同标题的产品,如果有则更新现有产品。

3. 远程图片下载

接口会自动下载远程图片并保存为WordPress附件,避免图片链接失效。

4. 多种属性支持

支持自定义属性和分类法属性,可以满足各种产品变体需求。