figuren-theater / label-printing
使用块创建可打印的标签。
Requires (Dev)
This package is auto-updated.
Last update: 2024-10-01 00:08:43 UTC
README
稳定标签:0.3.26 测试到:6.5.3 至少需要:6.3 需要 PHP:8.1 许可证:GPL-3.0+ 标签:Label, print, print.css, block 贡献者:carstenbach
Gutenberg 以打印而闻名,所以让我们在纸张上打印多个相同的标签。使用块。
描述
标签打印 块 插件旨在帮助您轻松地在纸张上打印多个相同的标签。此插件非常适合各种用例,例如创建海报、传单或其他任何印刷材料的标签。无论您是在管理剧院制作还是准备和组织下一场当地 WordCamp,此插件都可以帮助简化任何需要物理打印标签的项目流程。
功能
- 使用可自定义的尺寸创建和配置标签。
- 使用 标签打印 块 轻松准备可打印的标签。
- 使用标签像高级同步图案一样。
- 将标签尺寸与内容分开,以便高效管理标签。
- 遵循 WordPress 编码标准和常用最佳实践。
此插件允许您配置一组标签,这些标签可能类似于您桌上的纸张标签。准备至少一个标签后,即可开始打印。
目前(#5)此步骤没有 UI,因此您必须依赖此插件提供的默认标签尺寸或通过 Figuren_Theater\Label_Printing\Patterns\bootstrap_labels
过滤器添加您自己的尺寸。
在此插件中,标签由一个人类可读的标题和一个 正常 打印标签的物理尺寸组成。换句话说,标签的宽度、高度和方向被保存,以及如果有,A4 纸张上的边框。
使用方法
- 打开一个新帖子或页面。
- 将 标签打印 块 添加到您的内容中。
- 从下拉菜单中选择预配置的标签。
- 您将获得一个基于所选标签尺寸的新鲜空白模板。
- 将内容添加到模板或使用块对其进行自定义。
- 保存您的帖子或页面。
- 在网站的前端查看您精心准备的打印标签。
- 轻松打印您的标签。
操作 & 过滤器
标签打印 插件提供了一个过滤器来自定义默认的标签,如果不存在则会创建这些标签。使用此过滤器添加您自己的标签或调整默认值。
/** * Add your own labels or adjust the defaults using this filter. * * @hook Figuren_Theater\Label_Printing\Patterns\bootstrap_labels * @since 0.2.0 * * @param {array} $default_labels List of Labels (an array of arrays) that will be inserted into the DB on import by default. * * @return {array} List of Labels (an array of arrays) that will be inserted into the DB on import. */ \add_filter( 'Figuren_Theater\Label_Printing\Patterns\bootstrap_labels', function( array $default_labels ) : array { return [ [ 'name' => 'A6 Landscape (4 Labels per A4)', 'width' => 148, // in mm 'height' => 105, // in mm 'a4_border_tb' => 0, // in mm 'a4_border_lr' => 0, // in mm 'orientation' => 'landscape', ], [ 'name' => 'Minis (64 Labels per A4)', 'width' => 48, // in mm 'height' => 17, // in mm 'a4_border_tb' => 13, // in mm 'a4_border_lr' => 8, // in mm 'orientation' => 'portrait', ], ]; } );
实现细节
wp_block
post_type 与 _label-printing
post_meta
物理标签的数据保存在 wp_block
post_type 中,因为看起来将 可重用标签 与 可重用帖子 一起保存是合理的。所有尺寸(如宽度、高度)都存储在单个 post_meta 字段中,作为一个数组。
wp_pattern_category
分类与“标签打印”(label-printing
) 术语
为了将 wp_block
文章与同类型的其他文章区分开来,所有标签都被分组在(自6.4版以来新引入的)wp_pattern_category
中的一个术语下。该术语用于在 标签打印 块 中选择标签时进行查询。
常规 post_or_whatever
文章类型
每个标签要打印的内容保存在您添加了 标签打印 块 的该文章类型中。这可以是一个普通、私有或任何其他自定义文章类型。将标签尺寸与内容分开确保了高效的标签管理和所有编辑的访问。
背景 & 动机
我们在做戏剧,以此为生。我们每年制作一到三场演出,并试图将表演安排在多个年度的节庆和剧院的日程中。
从一开始,我们就制作了所有关于演出相关的海报和传单,但完全没有日期或地点。这种行为使我们能够在首演前生产2,000张海报和5,000张传单,通常有资金支持,并使用标签帮助材料多年。
使用标签有助于支持自然环境,因为它减少了未使用材料的垃圾,减少了常规的重新印刷、配送和相关的排放。
我本以为有了某些自动化,创建标签的时间将是最小的。
最终,我制作了超过15种不同的标签模板,Adobe Indesign模板;而我成了唯一能够管理和处理这些模板的人。在这个时候,我换机器了,摆脱了Windows,甚至想摆脱Indesign。所以我必须现在在Scribus中创建所有模板,才能达到同样的工作流程。经过所有可能的迁移障碍后,我将成为唯一能够管理新奇的Scribus模板的人。不可能。所以我创建了这个块。现在团队中的每个人都能创建标签。
安装
标签打印 块 插件的安装过程很简单
从WordPress内部安装
- 访问 插件 > 添加新插件。
- 搜索 标签打印。
- 安装并激活标签打印插件。
手动安装
- 将整个
label-printing
文件夹上传到/wp-content/plugins/
目录。 - 访问 插件。
- 激活标签打印插件。
通过composer安装
- 通过命令行
composer require figuren-theater/label-printing
- 访问 插件。
- 激活标签打印插件。
截图
- 插入标签打印块
- 选择您预定义的标签
- 在不同的标签预设之间进行视觉切换
- 填写您的标签内容
- 在浏览器的打印对话框中检查所有内容,排除带有页眉和页脚的页面,最后打印您的标签。
常见问题
将创建哪些默认标签尺寸?
默认标签,如果未通过 Figuren_Theater\Label_Printing\Patterns\bootstrap_labels
过滤器进行更改,为:
`
\$bootstrap_labels = [
[
'name' => 'A6 Landscape',
'width' => 148,
'height' => 105,
'a4_border_tb' => 0,
'a4_border_lr' => 0,
'orientation' => 'landscape',
],
[
'name' => 'A6 Landscape (with Top-Bottom-Borders)',
'width' => 148,
'height' => 90,
'a4_border_tb' => 15,
'a4_border_lr' => 0,
'orientation' => 'landscape',
],
[
'name' => 'A8 Portrait',
'width' => 52.5,
'height' => 74,
'a4_border_tb' => 0,
'a4_border_lr' => 0,
'orientation' => 'portrait',
],
[
'name' => 'A8 Landscape',
'width' => 74,
'height' => 52.5,
'a4_border_tb' => 0,
'a4_border_lr' => 0,
'orientation' => 'landscape',
],
];
`
为什么我应该使用 blank.php
模板?
请确保只打印您真正需要的内容。如果浏览器中的打印预览显示了包括标志和导航的正常页眉,请考虑在本地打印对话框中仅选择必要的页面。
使用 blank.php
模板确保只打印必要的内容。如果您的主题提供了此模板,那么选择它是避免在打印材料中出现不必要的页眉、文章标题和页脚的最佳选择。
块是如何工作的?
figuren-theater/label-printing
是一个自定义块,它使用常规 innerBlocks
来保持您将要添加到标签中的块。
为了在编辑器中预览块并在前端渲染它,它使用了一个名为 figuren-theater/label-proxy
的隐藏的第二个块。这是一个可重用块的轻量级版本,仅在单个帖子中使用,而不是跨多个帖子。
根据您选择的 预定义标签,…/label-proxy
块将根据所选标签的尺寸允许的次数进行复制。换句话说,您的标签将尽可能多地适应 A4 打印模板。
该插件遵循的标准和最佳实践
- ✅ 本项目许可协议为 GPL-3.0-or-later,有关详情请参阅 LICENSE 文件
- ✅ WordPress (编码) 标准
- PHP 编码标准(版本 2……)
- JavaScript 编码标准
- CSS 编码标准
- 不断与 插件审查指南 进行核对
- ✅ phpstan 在第 8 级别
- ❌ 我们尚未设置单元测试、集成测试或端到端测试,请考虑通过 PR 提供帮助
- ✅ 我们在 CHANGELOG.md 文件中保持 变更日志。
- ✅ 我们使用 git 通过版本控制所有代码
- ✅ 我们使用 github.com/figuren-theater/label-printing 进行公共开发
- 分支保护规则有助于保持主分支的安全
- 需要 PR 才能将代码纳入项目
- dependabot 检查所有包含的依赖项的更新版本,并寻找有漏洞的包
- ✅ 我们尝试进行语义版本控制
- ✅ 在每个版本中自动更新
plugin.php
、README.md
和CHANGELOG.md
中的版本号(通过 GitHub Actions) - ✅ 可安装
通过 wordpress.org/plugins 或(尚未,见 #6 )- 通过 composer,包括 figuren.theater/code-quality 包
- ✅ 我们热爱 WordPress 的 决策,而不是选项 哲学,这就是为什么根本没有设置页面
- ✅ 我们仅使用 WordPress 的核心包来创建此插件,块是通过使用
create-block
包来构建的 - ✅ 我们没有引入任何新的、自定义的 UI,而是仅使用核心功能,甚至包含
wp-admin-color-scheme
。 - ✅ 我们使用
README.md
作为有效的 readme.txt,用于 wp.org/plugins 存储库 - ✅ 所有代码都适用于翻译,并且已经翻译成
- de_DE
- de_DE_formal
升级通知
(沉默是金)
变更日志
请阅读变更日志部分,了解 最新版本。
我们在 CHANGELOG.md
文件中 保持变更日志。