agilo / medusawp
MedusaWP是一个WordPress插件,允许您将WordPress用作无头CMS或您的Medusa商店的店面。
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- composer/installers: ^1.0 || ^2.0
- guzzlehttp/guzzle: ^7.8
- guzzlehttp/psr7: ^2.0
- illuminate/validation: ^8.0 || ^9.0 || ^10.0
- yahnis-elsts/plugin-update-checker: ^5.3
Requires (Dev)
README
MedusaWP
MedusaWP允许您将WordPress用作无头CMS或您的Medusa商店的店面。
MedusaWP是一个强大的工具,它将您的Medusa电子商务商店与WordPress无缝集成,提供一系列功能以简化您的电子商务管理。我们还提供了一组丰富的面向Medusa的功能,供您在WordPress主题中使用。
您可以将现有Medusa商店连接到WordPress,并轻松将其数据导入WordPress。您可以完全了解同步进度,并可以轻松地排除同步过程中可能出现的任何问题。数据健康检查确保您的同步项目无错误且成功导入WordPress。使用Medusa缩略图直接导入WordPress媒体库管理媒体资产变得轻而易举。您还可以在WordPress网站上以自定义帖子类型管理并显示Medusa数据。
为了提供无缝的购物体验,插件会自动为首次访问您网站的客户创建购物车。还包括一个国家/地区切换器功能,可以根据所选国家/地区代码更新购物车区域。
当需要时,您可以轻松删除所有同步数据并断开与Medusa的连接。
使用MedusaWP插件释放您的Medusa商店的全部潜力,并简化您的电子商务操作。
功能
- 将WordPress用作无头CMS或Medusa商店的店面。
- 从WordPress连接到现有Medusa商店并将数据导入WordPress。
- 将Medusa电子商务数据与WordPress同步。
- 将Medusa缩略图导入WordPress媒体库(在同步Medusa数据时直接导入或在单独时导入)。
- 概述和故障排除同步进度。
- 检查数据健康,包括识别任何同步错误、部分同步的项目或成功同步的数据。
- 以自定义帖子类型(CPT)在WordPress中管理和显示Medusa数据(产品、产品系列...)。
- 当客户首次访问网站时自动创建购物车(默认国家/地区设置可以在WordPress插件设置中配置)。
- 实现国家/地区切换器,根据给定的国家/地区代码更新购物车区域。
- 删除所有同步数据。
- 断开与Medusa的连接。
- 公开一组丰富的函数,供您在WordPress主题中使用,包括用于计算和格式化价格和金额的
medusa-react
实用函数。
先决条件
- Medusa后端
- Redis
- WordPress安装
- WordPress网站运行中
- 对您的WordPress网站有管理员访问权限
- PHP Composer最新版本1.x
如何安装
Medusa插件
- 在Medusa后端的根目录中运行以下命令来安装
medusa-plugin-wordpress
插件
npm i medusa-plugin-wordpress
- 将插件添加到
medusa-config.js
文件中的plugins
数组末尾
module.exports = { // ... plugins: [ // ... { resolve: "medusa-plugin-wordpress", options: { // ... }, }, ], // ... }
- 接下来,配置在上一步骤中添加的
medusa-plugin-wordpress
插件。例如
const plugins = [ // ... { resolve: `medusa-plugin-wordpress`, options: { sync_options: { attempts: 5, backoff: { type: 'exponential', delay: 2000 } } }, }, ]
配置选项
插件可以通过以下选项进行配置
(property) sync_options: { delay?: number | undefined; attempts: number; backoff?: { type: "fixed" | "exponential"; delay: number; } | undefined; }
sync_options
- 同步选项对象。delay
- 延迟时间(毫秒),默认undefined
。attempts
- 尝试次数,默认3
。backoff
- 回退选项对象。type
- 回退类型,可以是"fixed"
或"exponential"
,默认"exponential"
。delay
- 回退延迟时间(毫秒),默认2000
。
WordPress 插件
- 在您的 WordPress 安装根目录中,运行以下命令使用 Composer 安装插件
composer require agilo/medusawp
-
使用您的管理员凭据登录 WordPress 管理仪表板。
-
安装成功后,点击“激活”按钮激活插件。
-
要完成插件设置,请继续到 如何使用 步骤。
如何使用
- 在 Medusa 后端目录中运行以下命令以运行后端
npm run start
-
登录到您的 WordPress 网站,导航到 MedusaWP 插件设置页面,该页面位于 WordPress 管理菜单中。
-
连接您的 Medusa 电子商务商店和 WordPress 实例。在默认的 MedusaWP 插件屏幕上输入您的 Medusa 商店 URL 和凭据 - 电子邮件和密码,然后按“连接”按钮。
注意
如有必要,您可以通过打开右上角的下拉菜单,按“断开连接”按钮并确认您的决定来始终从您的 Medusa 商店断开连接。
- 当与 Medusa 建立连接后,通过点击“同步”按钮同步您的 Medusa 电子商务数据与 WordPress。您还可以选择在数据同步时直接将 Medusa 缩略图导入到 WordPress 媒体库(这可能会稍微减慢您的数据同步过程),或者您可以在以后使用“导入”按钮单独导入缩略图。
注意
您可以使用“删除”按钮在任何时候从您的 WordPress 网站中删除所有同步的 Medusa 数据。我们建议在执行此操作之前备份您的数据。
-
数据同步完成后,配置 MedusaWP 插件的默认设置以满足您的需求。在下拉菜单中,您可以选择默认国家,当客户访问网站时,将自动在该相应地区创建购物车。
-
通过访问您的网站并使用其功能来验证插件是否按预期工作。
这就完成了!您已成功安装和配置了 MedusaWP 插件。在您的项目和 WordPress 网站上享受使用它吧。
贡献
我们欢迎社区的贡献来帮助我们使这个项目变得更好。请随时打开拉取请求或问题。感谢您考虑贡献,我们期待与您合作!
以下您可以找到 插件开发指南,它将帮助您开始在本地环境中运行 MedusaWP。
插件开发
先决条件
- Docker 和 Docker Compose
- 我们建议在 Mac 上使用 OrbStack。
- Node.js v20
- PHP Composer 最新版本 1.x | 2.x
安装完要求后,您需要通过在您的 /etc/hosts
文件中追加以下行来为此项目添加一个主机条目
127.0.0.1 medusawp.test
本地运行
按照以下分步指南在本地运行项目
- 完成上述所有先决条件
git clone https://github.com/Agilo/medusawp.git
- 克隆仓库cd medusawp
- 定位到项目目录cp .env.example .env
- 设置 docker-compose 环境变量cp ./dev/medusa/.env.example ./dev/medusa/.env
- 设置 Medusa 环境变量npm i
- 安装所有依赖npm run addcert -w wordpress
- 为medusawp.test
添加自签名证书npm run build -w wordpress
- 构建 WordPresscomposer install -d ./wordpress-plugin
- 安装 WordPress 插件的 Composer 依赖docker-compose --profile wp --profile medusa up
- 启动 WordPress 和 Medusa Docker 容器- 打开一个新的终端标签页
npm run seed -w medusa
- 初始化 Medusa 数据库npm run migrate -w medusa
- 运行 Medusa 迁移npm start
- 构建 Medusa 插件并启动 Medusa 开发服务器和插件监视器
WordPress 现在可通过 https://medusawp.test 访问,Medusa 管理仪表板可通过 https://:9000/app 访问。
Medusa Admin 的默认凭据是
admin@medusa-test.com
supersecret
WordPress 的默认凭据是
admin
admin
可用命令
npm start
- 构建插件并启动 Medusa 开发服务器和插件监视器npm run build -w medusa-plugin-wordpress
- 构建 Medusa 插件npm run watch -w medusa-plugin-wordpress
- 启动 Medusa 插件监视器npm run test -w medusa-plugin-wordpress
- 运行 Medusa 插件测试npm run seed -w medusa
- 初始化 Medusa 数据库npm run build -w medusa
- 构建 Medusanpm run migrate -w medusa
- 运行 Medusa 迁移npm start -w medusa
- 启动 Medusa 开发服务器npm run addcert -w wordpress
- 为medusawp.test
添加自签名证书npm run build -w wordpress
- 构建 WordPress
Docker 服务
Docker 服务在 docker-compose.yml
文件中定义。文件中有两个独立的配置
wp
- WordPressmedusa
- Medusa
通常,您需要同时运行这两个配置。但如果只想运行其中一个,可以通过运行 docker-compose --profile <profile> up
来实现。例如,要单独启动 WordPress,可以运行 docker-compose --profile wp up
。
WordPress
nginx
- 在 https://medusawp.test 上为 WordPress 提供服务的 Nginx 网络服务器php
- PHP-FPMdb
- WordPress 可用的本地主机 3306 上的 MariaDB 数据库服务器,您可以在.env
文件中更改凭据和端口phpmyadmin
- 在 https://:8080 上可用的 phpMyAdmin
Medusa
postgres
- 在本地主机 5432 上为 Medusa 可用的 PostgreSQL 数据库服务器,您可以在.env
和dev/medusa/.env
文件中更改凭据和端口pgadmin
- 在 https://:5050 上可用的 pgAdminredis
- Medusa 可用的本地主机 6379 上的 Redis 服务器admin
- 在 https://:9000 上可用的 Medusa Admin
其他资源
许可
本项目采用 MIT 许可证 许可。