seravo / woo-pakettikauppa
集成 Pakettikauppa 与 WooCommerce,并提供 Prinetti, Matkahuolto, DB Schenker 等物流选项。
Requires
- pakettikauppa/api-library: 2.0.*
- dev-master
- 3.9.3
- 3.9.2
- 3.9.1
- 3.9.0
- 3.8.0
- 3.7.2
- 3.7.1
- 3.7.0
- 3.6.x-dev
- 3.6.2
- 3.6.1
- 3.6.0
- 3.5.2
- 3.5.1
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.1
- 2.4.0
- 2.3.3
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.0
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18.1
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15.1
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11.1
- 2.0.11
- 2.0.10.1
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.8
- 1.1.7
- 1.1.6
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.8
- 1.0.7
- 1.0.6
- 1.0.5
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/blocks-builder/webpack-5.94.0
- dev-dependabot/npm_and_yarn/blocks-builder/ws-6.2.3
- dev-development
- dev-include_return_label
- dev-features/bring_fixes
- dev-sender_country_fix
- dev-token-check-fix
- dev-fix-token-related-fixes
- dev-fix-load
- dev-dev-otto
- dev-feature/php-8-testing
- dev-whitelabel-fix
- dev-fix-missing-logo
This package is auto-updated.
Last update: 2024-08-31 05:22:17 UTC
README
Pakettikauppa WordPress 插件,用于 WooCommerce
成熟度
此软件现在可供一般使用。
安装
此插件可以通过 WordPress.org 插件目录、WP-CLI 或 Composer 安装。
wp plugin install --activate woo-pakettikauppa # OR wp plugin install --activate https://github.com/Seravo/woo-pakettikauppa/archive/master.zip # OR composer require seravo/woo-pakettikauppa
插件需要安装 WooCommerce >=4.4,并配置了配送区域、激活了此插件并设置了设置。
自然,店主也需要在Pakettikauppa开设商户账户。
注意!如果您已经与 Posti、Matkahuolto 或 DB Schenker 签署了具有折扣价格的运输合同,您可以联系 Pakettikauppa 的客户支持,通过 Pakettikauppa 获取这些合同,以便您可以使用 WooCommerce Pakettikauppa 插件与您当前的运输合同一起使用。
重要!在开始使用此插件之前,请与您的托管服务提供商确认您已禁用目录列表。有关目录列表的更多信息,请参阅 Apache 或 Nginx 的文档。
功能
- 将 Pakettikauppa 集成到 WooCommerce
- 基于官方的 Pakettikauppa API 库
- 支持 WooCommerce 配送区域(尽管 Pakettikauppa 目前仅在芬兰可用)
- 店主可以指定任何固定运费,或者如果订单价值超过一定限额,则提供免费运输
- 客户可以选择将产品运送到地址或任何 Pakettikauppa 运输方式提供的自提点
- 店主可以一键生成运单
- 店主和客户将获得跟踪代码链接和状态信息
- 提供测试模式,使用测试 API
屏幕截图
变更日志
查看 Git 历史。
开发者
欢迎拉取请求!
在提交您的补丁之前,请确保它是高质量的
- 遵循 WordPress Codex 插件编写建议,并检查 WordPress 插件手册
- 遵循具体的 WooCommmerce 插件建议
- 在带有标准 测试数据 的干净的 WordPress/WooCommmerce 安装上测试代码
- 确保测试套件在本地和 Travis-CI 上通过
- 使用本项目包含的 phpcs.xml 测试代码风格是否有效
开发者文档
请注意,官方文档位于 https://docs.woocommerce.com/document/shipping-method-api/,其中部分信息可能已过时。如需更多信息,请参阅 GitHub wiki 或直接使用 GitHub 搜索 查找如何扩展运输方法类的最新示例。
运行本地开发环境
要开发 woo-pakettikauppa(或任何 WordPress 插件),您需要有一个运行的 WordPress 安装。如果您想使用 Seravo/WordPress 作为本地开发环境,请将其克隆到您的计算机上,并按照其说明在 Vagrant 或 Docker 中启动。完成之后,您将拥有一个干净且几乎为空的 WordPress 网站。
假设您已将本地开发环境运行在 wordpress 目录中,并且此插件已检出到其旁边,您可以使用 entr 和 rsync 自动将 woo-pakettikauppa 的内容同步到本地开发环境。
find * | entr rsync -vr . ../wordpress/htdocs/wp-content/plugins/woo-pakettikauppa | ts
这很方便,因为无论本地开发环境发生什么,woo-pakettikauppa 的 git checkout 总是受到保护,并且您可以始终以相同的方式在该目录中运行您的文本编辑器和 git 工具。
在本地开发环境中运行测试
项目中有预配置的 phpcs.xml 和 phpunit.xml 文件,因此运行测试非常简单。
vagrant$ cd /data/wordpress/htdocs/wp-content/plugins/woo-pakettikauppa/
vagrant$ phpcs
vagrant$ phpunit --verbose
请注意,本地开发版本中的 phpcs 和 phpunit 版本可能与 CI 系统中使用的版本不同,因此可能会产生不同的结果。
Travis CI 和自动测试
此项目有一个 .travis-ci.yml 定义,任何人都可以使用。只需按照以下步骤操作:
- 通过登录您的 Github.com 账户在 Travis-CI.org 上创建一个账户。
- 确保您在自己的 Github.com 账户中有一个此存储库的分支。
- 打开 Travis-CI.org 设置页面 并点击 "Sync repositories"

- 在存储库列表中搜索
woo-pakettikauppa并为此存储库启用自动测试。
- 最初,页面
https://travis-ci.org/<username>/woo-pakettikauppa将为空,但一旦您推送第一个提交,Travis-CI 将运行第一次构建。您也可以手动触发一个构建以开始它。
调试失败的 Travis CI 作业
首先仔细阅读所有失败的作业的输出。大多数情况下,失败的原因都清楚地说明了。
您还可以通过在本地开发环境中运行与 .travis.yml 运行相同的命令来模拟 Travis CI 运行的测试。
vagrant$ cd /data/wordpress/htdocs/wp-content/plugins/woo-pakettikauppa/
vagrant$ SNIFF=1 ./tests/install-tests.sh
vagrant$ SNIFF=1 ./tests/run-tests.sh
通过设置变量如'SNIFF'等来控制要运行的测试。查看当前矩阵中使用的所有选项,请参阅.travis.yml。
Travis CI已发布travis-build,可以将.travis.yml文件转换为可运行的.sh脚本。他们还提供了一种调试构建模式,可以直接在Travis的服务器上通过SSH调试失败的构建。
翻译
如果您添加了新的可翻译字符串或编辑了现有的字符串,您必须在core/languages下重新生成woo-pakettikauppa.pot。最简单的方法是使用wp-cli。
wp i18n make-pot . core/languages/woo-pakettikauppa.pot
分支和发布
开发始终针对master分支
所有错误修复和新功能都在单独的git分支上开发。通过在提交信息或拉取请求标题中添加"WIP:"来标记工作进度。一旦功能准备就绪,就会打开一个拉取请求以供评论和审查。拉取请求不应包含对更改日志或版本号的任何更新,因为这些是在发布时单独完成的,以匹配实际发布。创建拉取请求意味着请求评论和审查,因此在新PR创建后至少等待24小时,以便其他人有时间做出回应。
非常小的错误修复(例如,修复拼写错误)可以直接在master上应用。请注意,所有提交都必须通过CI,因此Travis-CI需要先在某个分支上看到提交,GitHub需要将该提交注册为通过CI。然后,可以由具有对master写入权限的开发者直接在master上合并这些提交,而无需在GitHub上创建单独的拉取请求。
由于这是一个WordPress插件,因此只能发布一个版本。因此,没有单独的维护分支(一旦发布了2.1.x,下一个版本必须是2.1.y或更高版本,不能为2.0.x发布任何维护版本)。
创建新版本
所有改进都集成到master中,当当前的master经过测试并认为适合发布时,发布本身包括
- 创建一个临时分支,其中增加版本号并更新更改日志,确保CI通过
- 通过asiakaspalvelu@pakettikauppa.fi发送电子邮件作为即将发布的发布的提示
- 等待1-2个工作日
- 在master上合并临时分支并使用git标记它(不要使用GitHub的发布功能,它可能会破坏git标记引用)
- 此存储库连接到https://deployer.seravo.com/、Packagist,所有发布操作都根据git标记自动执行
架构
插件编写得很容易被fork为一个白标版本,仅包含子集的运输提供商和自定义品牌。这是通过使用抽象类作为插件组件的工厂来实现的。可以通过简单地重载方法来替换每个组件。
Woo_Pakettikauppa_Core\Core类负责加载所有组件,并作为组件之间的桥梁。实例传递给大多数插件的子类,例如Woo_Pakettikauppa_Core\Admin,它保留对它的引用在$this->core下。
子类负责执行实际的重型工作。Admin处理wp-admin中的操作,Frontend处理前端,Shipment用于创建运输标签等。
Text 是一个特殊案例,它的真正目的是作为一个存储需要翻译的字符串的键值对存储。目前该插件中散布着 __ 和 _e 调用 - 在未来,所有这些都应该生活在 Text 中。这样做的好处是能够替换所有白标分叉中的任何文本。
模板
该插件包含一些模板文件,这些文件通过 wc_get_template 函数显示,因此可以在主题中覆盖它们。为此,需要将文件从 Pakettikauppa 插件目录(/wp-content/plugins/woo-pakettikauppa/templates/pakettikauppa)复制到 WordPress 主题目录(/wp-content/themes/<theme_name>/woocommerce/pakettikauppa)。



