如何添加 WooCommerce 产品(以编程方式和管理面板)

已发表: 2020-06-09

您是否正在设置您的在线商店并想要创建产品? 在这里,我们将向您展示如何从管理面板和以编程方式在 WooCommerce 中添加产品的完整指南。 您将学习如何添加简单、可变、分组和外部产品。 但这还不是全部。 我们还将向您展示如何批量添加产品、相关产品和带有特色图片的产品。

WooCommerce 产品简介

在我们开始之前, 我们首先需要了解什么是产品及其主要组成部分。 WooCommerce 产品是您在在线商店中销售的实体或数字产品。 此外,一些特殊功能将产品与 WordPress 网站上的博客文章和其他页面区分开来。

WooCommerce 产品附加了很多信息,例如图像、标题、特色图像、描述、价格、变化、可用库存等。 此外,还有不同的产品类型。 这些是附加在产品上的标签,定义了在销售过程中如何处理它们,使客户和店主都更容易。

WooCommerce 产品类型

WooCommerce 中有 4 种类型的产品:简单、可变、分组和外部/附属。 此外,简单和可变的产品可以是可下载的或虚拟的。

1) 简单的产品

这是每个商店销售的最常见的产品类型。 这是一个独特的产品,没有任何变化或选项。 例如,一件百搭的 T 恤。

2) 可变产品

可变产品具有某种变化,例如颜色、尺寸、类型等。 对于每个可用选项,他们可以有不同的 SKU、价格或库存。 例如,有不同颜色和尺寸的 T 恤。

3) 分组产品

顾名思义,分组产品是一组相关产品,您可以按单位销售,但分组在一个中。 例如,一套餐具,包括叉子、刀子和勺子。

4) 外部/附属产品

主要用于外部或联属网络营销,这些是在您的网站上列出但在其他网站上出售的产品。

可下载和虚拟产品

虚拟产品

虚拟产品无法实物交付,因此 WooCommerce 中的所有交付功能都被禁用。 虚拟产品的示例是聊天支持、个人网络研讨会或其他平台上的帐户激活。

可下载产品

顾名思义,这是您可以下载的东西。 可下载产品启用附加字段,您可以在其中将可下载文件附加到产品。 这样,客户可以通过订单通知电子邮件获得下载链接。 这非常适合交付任何类型的文件,例如电子书、图片库、软件等。 现在我们更好地了解了 WooCommerce 中的所有产品类型,让我们看看如何将产品添加到我们的商店。

如何在 WooCommerce 中添加产品

在 WooCommerce 中创建产品有两种主要方法:

  1. 以编程方式
  2. 从管理面板

在本指南中,我们将逐步向您展示这两种方法。 下面,您将找到内容索引,因此您可以直接转到您感兴趣的部分。

  1. 如何在 WooCommerce 中以编程方式添加产品?
    • 创建一个插件以编程方式在 WooCommerce 中添加产品
    • 钩子
    • 如何以编程方式添加多个产品
    • 以编程方式添加带有特色图片的产品
    • 如何以编程方式添加可变产品
    • 以编程方式向产品添加更多信息
  2. 如何从 WooCommerce 的管理面板添加产品?
    • 从 WooCommerce 仪表板添加产品的方法
    • 产品编辑器页面
      • 元框和产品数据元框
    • 如何从 WooCommerce 仪表板添加相关产品
    • 如何从 WooCommerce 管理面板批量添加产品

1. 如何在 WooCommerce 中以编程方式添加产品

在本节中,您将学习如何编写自定义解决方案并以编程方式创建产品。 即使您是初学者也可以遵循本指南,但一些编程技巧会有所帮助。 有许多 PHP 脚本可以以编程方式添加产品,但大多数都缺乏验证。 因此,您需要更改添加验证逻辑的片段。

当我第一次尝试遵循这些教程时,我每次都遇到同样的问题。 这些产品是在任何给定时间添加的,有时是在我重新加载页面或导航到另一个页面时。 结果,我得到了超过 45 种产品,却没有我想要的解决方案。 因此,为了避免与我们添加产品的确切时刻相关的所有这些冲突,我们找到了一个简单而有效的解决方案。

我们创建了一个自定义插件来添加我们的产品。 这样,我们可以控制何时添加具有对开发人员友好的测试环境的产品,而无需处理复杂的验证功能。

创建一个插件以编程方式在 WooCommerce 中添加产品

尽管这听起来很复杂,但如果您没有编码技能,请不要担心。 它只是一个只有两个文件的简单插件。

1) 首先,在桌面上创建一个文件夹,然后打开您喜欢的代码编辑器或简单的文本编辑器。

2)然后,在文件夹中创建两个文件:

 QuadLayers_add_product // folder
__quadlayers_add_product.php // file
__class_quadlayers_add_product.php // file

我们已将文件夹命名为QuadLayers_add_product ,但您可以使用其他名称,只要您更改文件的内容以匹配它。

3) 现在,将以下代码粘贴到quadlayers_add_product.php文件中:

 /**
* @link https://quadlayers.com/
* @since 1.0.0
* @package QuadLayers Add Product to WooCommerce
* Plugin Name: QuadLayers Add Products
* Plugin URI: https://quadlayers.com/
* Description: Adding products programmatically to WooCommerce * Name: Store Vendor Total
* Version: 1.0.0
* Author: Sebastopolys
* Author URI: https://quadlayers.com/
* License: GPL-2.0+
* License URI: http://www.gnu.org/licenses/gpl-2.0.txt
* Text Domain: quadlayers_ap
*/
if(!defined('ABSPATH')){die('-1');}
function QuadLayers_init(){require plugin_dir_path( __FILE__
). 'class_quadlayers_add_product.php';
$run = new QuadLayers_class;
}
QuadLayers_init();

这个文件不会做太多事情。 它只是插件的网关入口。 它只是调用另一个文件并运行它。

4)粘贴代码后,保存更改。

5) 然后,打开class_quadlayers_add_product.php文件并将以下内容粘贴到其中:

 class QuadLayers_class{ public function __construct(){
add_action(wp_head,array($this,'quadlayers_add_product'));
}
public function quadlayers_add_product(){
echo ' This works…
';
}
}

6) 现在,将这两个文件打包成一个.zip文件并将其安装在您的 WordPress 网站上。

7) 如果一切顺利,您将在 WordPress 仪表板插件列表中看到您的新插件。 打开它并检查您是否可以在页面顶部看到“This works...” 。 如果您看到它,您可以继续下一步。

钩子

如果您熟悉 WordPress 开发,您可能知道现在您需要某种钩子来添加您的 WooCommerce 产品。 我们将使用WPactivated_plugin()来确保我们只在激活插件时添加产品一次。 这很重要,因为如果您停用并激活插件,产品将被复制。 但是,这是一个开发模式插件,您可以通过添加自定义逻辑以多种方式对其进行改进。

如果您不确定钩子是如何工作的,请查看我们关于如何使用钩子的指南。 如果您想了解有关结帐挂钩的更多信息,请查看我们的教程以使用挂钩自定义 WooCommerce 结帐页面。

所以现在,让我们将魔术钩添加到文件中,并在quadlayers_add_product()函数中添加更多代码:

 class QuadLayers_class{
public function __construct(){
add_action('activated_plugin',array($this,'quadlayers_add_product'));
}
public function quadlayers_add_product(){
$post_id = wp_insert_post( array(
'post_title' => 'Great product!',
'post_content' => 'Hey, this is our new product',
'post_status' => 'publish',
'post_type' => "product",
) );
wp_set_object_terms( $post_id, 'simple', 'product_type' );
}
}

而已! 激活插件或如果未激活则重新加载页面,您将在产品列表页面上找到新产品。

如何在 WooCommerce 中以编程方式添加多个产品

如果您查看代码,您将看到产品存储为数组。 要以编程方式创建多个产品,您可以构建一个多维数组,其中包含所需数量的产品。 这样,您可以一次添加数千种产品,将您拥有的数据格式与 PHP 数组的正确语法相匹配。

您可以使用for()语句循环遍历数组,以添加与数组中一样多的产品。 例如,以下脚本将添加三种不同的产品:

 public function quadlayers_add_product(){ $product_array=array( array( 'post_title' => 'This is the first product', 'post_content' => 'Description of the first product', 'post_status' => 'draft', 'post_type' => "product",), array( 'post_title' => 'Second product title', 'post_content' => 'Description of second product', 'post_status' => 'draft', 'post_type' => "product"), array( 'post_title' => 'Title of third product', 'post_content' => 'Description of the third product', 'post_status' => 'draft', 'post_type' => "product") ); for ($i=0; $i < count($product_array); $i++) { $post_id = wp_insert_post( $product_array[$i] ); wp_set_object_terms( $post_id, 'simple', 'product_type' ); }

使用该代码,您只需为每个产品添加标题、描述和状态。 但是,如果您需要添加更多信息怎么办? 为此,您可以使用 WordPress 数据库 API 中的update_post_meta()函数。 因此,让我们更进一步,为产品添加更多信息。

在这里,我们将包括产品类型、价格、特色、库存、库存状态和 SKU:

 public function quadlayers_add_product(){ $product_1=array( 'post_title' => 'This is the first product!', 'post_content' => 'Description of the first product', 'post_status' => 'draft', 'post_type' => "product",); $post_id = wp_insert_post( $product_1 ); wp_set_object_terms( $post_id, 'simple', 'product_type' ); update_post_meta( $post_id, '_price', '156' ); update_post_meta( $post_id, '_featured', 'yes' ); update_post_meta( $post_id, '_stock', '23' ); update_post_meta( $post_id, '_stock_status', 'instock'); update_post_meta( $post_id, '_sku', 'jk01' ); }

请记住,SKU 应该是唯一的。 如果您尝试两次添加具有相同 SKU 的产品,则会收到错误消息。 您可以使用更多元字段。 查看 WooCommerce 文档以查找完整列表。

如何在 WooCommerce 中以编程方式创建具有特色图像的产品

要将特色图片添加到产品中,首先需要将图片上传到媒体库。 如果这不可能,还有其他一些方法可以以编程方式将图像添加到媒体库。

例如,您可以将图像批量上传到库并在您的函数中获取它们的 id。 特色图片是insert_post()函数中可用的元值之一,因此您可以使用以下代码添加特色图片:

 update_post_meta( $post_id, '_thumbnail_id', '13' );  

其中13是上传到媒体库的图片id。

您还可以将您的产品 ID 添加到主数组以上传多个产品,如下所示:

 $product_array=array( array( 'post_title' => 'This is the first product', 'post_content' => 'Description of the first product', 'post_status' => 'draft', 'post_type' => "product", '_thumbnail_id' =>13), array( 'post_title' => 'Second product title', 'post_content' => 'Description of second product', 'post_status' => 'draft', 'post_type' => "product", '_thumbnail_id' =>22), array( 'post_title' => 'Title of third product', 'post_content' => 'Description of the third product', 'post_status' => 'draft', 'post_type' => "product", '_thumbnail_id' =>11) );

要找到图像 ID,请在打开它们时检查浏览器中的 URL。 您还可以在媒体库仪表板中检查图像 ID。 最后,要批量上传图片,您还可以从查询_thumbnail_id 元名称的数据库的wp_postmeta表中检索所有图片 ID,并将它们与您的函数集成。

以编程方式添加可变产品

要在 WooCommerce 中以编程方式创建可变产品,您只需更改wp_set_object_terms()函数的第二个参数:

 wp_set_object_terms( $post_id, 'variable', 'product_type' );

同样,您可以将产品定义为分组或外部。

以编程方式向产品添加更多信息

熟悉update_post_meta() ,您将能够以编程方式轻松添加 WooCommerce 产品及其所有信息。 这些是用于添加或编辑产品的更多可用元值:

 update_post_meta( $post_id, '_visibility', 'visible' ); update_post_meta( $post_id, '_stock_status', 'instock'); update_post_meta( $post_id, 'total_sales', '0' ); update_post_meta( $post_id, '_downloadable', 'no' ); update_post_meta( $post_id, '_virtual', 'yes' ); update_post_meta( $post_id, '_regular_price', '' ); update_post_meta( $post_id, '_sale_price', '' ); update_post_meta( $post_id, '_purchase_note', '' ); update_post_meta( $post_id, '_featured', 'no' ); update_post_meta( $post_id, '_weight', '' ); update_post_meta( $post_id, '_length', '' ); update_post_meta( $post_id, '_width', '' ); update_post_meta( $post_id, '_height', '' ); update_post_meta( $post_id, '_sku', '' ); update_post_meta( $post_id, '_product_attributes', array() ); update_post_meta( $post_id, '_sale_price_dates_from', '' ); update_post_meta( $post_id, '_sale_price_dates_to', '' ); update_post_meta( $post_id, '_price', '' ); update_post_meta( $post_id, '_sold_individually', '' ); update_post_meta( $post_id, '_manage_stock', 'no' ); update_post_meta( $post_id, '_backorders', 'no' );

这就是第一部分的结尾。 到目前为止,您应该能够以编程方式将产品添加到您的 WooCommerce 商店。 但是,如果您对该方法不满意,请查看以下部分,您将在其中学习从管理面板添加产品。

2. 如何从 WooCommerce 的管理面板添加产品

以编程方式将 WooCommerce 产品添加到您的商店是大多数开发人员的首选方式。 但是,如果这不是您的情况,请不要担心。 在这里,我们将向您展示如何从管理面板添加产品。 WooCommerce 管理面板提供了几种上传产品的方法。 每种方法都有优点和缺点,并且根据情况或多或少会感到舒服。 无论您使用哪一种,它们都将帮助您将产品添加到您的在线商店。

从 WooCommerce 仪表板添加产品

如果您在网站后端仪表板上,添加产品的最快方法是从“产品”选项卡。 当您将鼠标悬停在Products上时,您会看到一些选项出现。 点击新增进入产品编辑器页面。

在前端,您可以找到另一个一键发布产品的快捷方式。 登录后,您会在顶部工具栏中看到一个+新建按钮。 将鼠标悬停,您会看到它显示一个下拉列表,您可以在其中选择Products 。 同样,您可以使用相同的按钮来创建帖子、页面、优惠券或任何类型的内容。

您还可以通过单击添加按钮从产品列表页面添加产品

如何从 WP 仪表板在 WooCommerce 中添加产品 从编辑器页面编辑现有产品时,您也可以这样做。

这是执行相同操作的四种不同方法,因此当您单击这些“添加新”按钮中的任何一个时,最终结果都是相同的。 它将您重定向到产品编辑器页面。

产品编辑器页面

现在让我们看一下产品编辑器页面,这是您在创建新产品或编辑现有产品时将看到的屏幕。 产品编辑器分为三个部分:

  • 一)内容
  • B) 侧边栏
  • C) 元盒

以编程方式添加 woocommerce 产品 - WordPress 部分 让我们仔细看看它们中的每一个。

一)内容

产品名称是产品的标题,将用于 URL 中的 slug。 在标题下方,您将看到主编辑框,您可以在其中添加产品描述,包括图像、视频或投票等多媒体内容、链接、横幅等。 在标题和产品编辑器框之间,有一个工具栏,其中包含您在帖子中找到的相同元素。

B) 侧边栏

在这里,一些选项卡显示有关产品的重要信息。 第一个选项卡允许您设置状态、可见性和发布字段,这些设置与您可以在帖子或页面中找到的设置相同。 这里的一个重要选项是Catalog Visibility 。 在那里,您可以指定产品将在哪些商店页面上列出,您还可以将产品标记为特色产品。 最后,您可以为产品添加分类(类别、标签或任何其他自定义分类)、特色图片和图库。

C) 元盒

在内容编辑器下方,您可以找到元框。 您将看到默认情况下 WooCommerce 附带的一个,但可能会更多,具体取决于您的网站配置、插件和安装的主题,因为其中许多都添加了元框。 与侧边栏选项类似,您可以打开或关闭每个选项卡元框。 当您处理许多元框时,这非常有用。

正如我们所提到的,可以有很多元框,但在这里我们将描述 WooCommerce 默认提供的主要元框:产品数据元框和简短描述元框。

产品数据元框

产品数据元框有几个部分。 让我们来看看它们中的每一个: 产品数据元框

常规选项卡

在此元框的默认选项卡“常规”选项卡中,您必须输入有关产品的相关信息。 首先,选择产品类型:简单、可变、分组或外部,以及是虚拟的还是可下载的。 在 WooCommerce 中添加产品时的产品类型选项 然后,如果您提供折扣,请设置价格和更低的价格。

存货

此外,库存部分将帮助您管理库存。 您可以设置库存可用性和其他设置,例如允许单次购买、延期交货或低库存警报。

船运

您可以在运输部分存储有关产品的更多信息。 此部分对于实物产品很重要,因为您可以输入有关尺寸和重量的数据。 此信息将用于某些产品页面和后端。

属性

在此部分中,您可以为您的产品设置属性,例如颜色、尺寸等。 这些将用于可变产品或作为您网站上的过滤器。

先进的

在“高级”选项卡中,您可以在客户购买产品后为其添加注释,如果您使用自定义订单,则可以为您的产品设置菜单位置,并启用评论。

简短描述元框

这个默认的元框有一个不言自明的名字。 简短描述将用于某些 WooCommerce 页面、订单和产品列表。 请记住,许多插件和主题也会显示它们的元框,因此除了 WooCommerce 默认包含的元框之外,您可能还有更多元框。

如何从仪表板在 WooCommerce 中添加相关产品

现在,让我们看看如何链接产品,以便它们在某些 WooCommerce 页面上与相关产品一起显示。

链接产品

链接产品部分允许您向购物者推广产品并增加销售额。 设置相关产品有两种方式:追加销售交叉销售。 您可以在产品数据元框 > 链接产品选项卡中找到这两个设置。 在 WooCommerce 中添加相关产品

  • 追加销售:这些是显示在产品页面上的相关产品。 例如,如果您租车,他们可能会为您提供保费保险或升级到更昂贵的汽车。
  • 交叉销售:它们是与购物车内容相关的产品。 例如,如果购物车中有一个帐篷,您可能想要展示一个睡袋或一个手电筒。

这两个功能非常易于使用。 只需使用每个设置的搜索框输入您要链接的产品的名称。

如果您不想添加相关产品而想隐藏它们,请查看我们的指南以在 WooCommerce 中删除相关产品。

如何从 WooCommerce 管理面板批量添加产品

到目前为止,您已经了解了如何使用产品编辑器在 WooCommerce 中添加产品。 尽管这个过程非常简单,但对于拥有大量产品的大商店来说,这可能很耗时。 解决方案是批量添加产品。 为此,您可以使用插件或使用 WooCommerce 预建功能批量导入产品。

一些工具增强了批量上传和编辑功能,但其中大部分是付费的。 如果你想试一试,我们推荐官方 WooCommerce 扩展。

但是,WooCommerce 中的默认导入功能非常适用于 CSV 文件,并允许您轻松有效地批量添加产品。 首先,您需要一个.csv文件,其中包含您要导入的产品列表。 此文件需要具有特定格式,因此请从 WP 仪表板下载示例.csv文件。

1) 导出示例 CSV 文件

因此,您需要做的第一件事是转到“产品”页面,然后单击页面顶部的“导出”按钮。 将出现一个弹出框。 选择要导出的列、产品类型和类别,决定是否要导出附加到产品的元数据(即与主题或插件相关的信息),然后按Generate CSV 。 之后,下载文件并使用您最喜欢的.csv文件编辑器打开它。 您将看到产品如何存储在此文件中。 看看它,因为您的文件必须遵循相同的结构。

现在您已经有了一个示例文件,可以创建一个新的 CSV 文档,或者编辑与所需格式匹配的现有文档。

有关如何在 WooCommerce 中导出产品的更详细指南,请查看本教程。

2) 导入 CSV 文件

准备好包含所有产品的 CSV 文件后,您可以使用Import选项从WooCommerce 仪表板 > 产品上传它。 在上传文件之前,请仔细检查文档以确保没有错误。 准备好后,单击“导入”按钮,您将看到此屏幕。 如何在 WooCommerce 中导入产品 单击选择文件,浏览您的.csv文件,然后单击继续。 您将转到下一个表单,您可以在其中选择要导入的信息。 然后它将开始导入产品。 该过程通常需要几分钟,但这取决于文件中的项目数。

有关如何导入产品的更多信息,请查看此分步指南。

3)批量编辑产品

现在您已经上传了所有产品,您可能想要编辑它们。 您可以逐一进行此编辑,但也可以批量进行。 如前所述,一些付费插件提供批量编辑功能。 它们中的大多数都工作得很好,但它们也很昂贵。 但别担心。 如果您不想花钱,我们为您提供免费的解决方案。 您可以使用 WooCommerce 默认导入/导出功能对您的产品进行批量编辑。 这是如何做到的。

A) 在 CSV 文件中批量编辑

一种选择是直接在 CSV 文件上进行批量修改,然后将其再次上传到 WooCommerce。 CSV 文件中的所有更改都将自动反映在 WooCommerce 产品中。

为此,只需重复我们描述的步骤以导入 CSV 文件,但在屏幕上选择要导入的文件,选中更新现有产品复选框。 这将仅更新按 ID 或 SKU 匹配的产品。

B) WC 产品页面中的批量编辑

您还可以从 WooCommerce 仪表板的产品页面批量编辑产品。 在Add new下方,有用于导入和导出产品的按钮,您可以使用这些按钮来过滤产品列表。 您可以通过选择类别、产品类型或库存状态来开始编辑。

如果您的产品不多,您也可以手动检查每个产品。 因此,只需选择新过滤列表中的所有产品,从下拉列表中将批量操作切换为编辑,然后单击应用。 在下一个屏幕上,您将能够一键编辑分类、价格、状态、启用或禁用评论、可见性以及有关所有列出产品的更多信息。 此外,您可以通过单击标题旁边的X图标从批量编辑器中删除特定帖子。 完成所有更改后,不要忘记点击Save

有关如何在 WooCommerce 中导入产品的更多信息,请查看我们的完整指南。

结论

总而言之,您已经了解了更多关于不同类型的产品以及在 WooCommerce 中以编程方式和从管理面板添加产品的不同方法

至此,您也应该知道如何批量添加和编辑产品以及如何添加相关产品,这对于向上销售和交叉销售非常有用。 如果您想了解有关产品属性的更多信息,可以查看我们的指南,了解如何创建默认产品属性。 此外,您还学习了如何一次添加多个产品、可变产品以及带有特色图像的产品,并通过一些编码以编程方式添加。

将所有产品添加到在线商店后,您需要对其进行自定义和优化。 您还可以创建和设置优惠券以增加销售额。 此外,我们建议您采取一些措施来防止可能导致您损失大量资金的垃圾邮件和虚假订单。 您还可以添加产品过滤器以帮助您的购物者找到他们正在寻找的东西。

最后,如果您正在为您的商店页面寻找更多自定义,我们建议您查看我们的教程以编程方式编辑商店页面以找到一些灵感。 如果您有任何问题,请随时在下方发表评论,我们将尽最大努力为您提供帮助。