humanmade/altis-reusable-blocks

为可重复使用的块添加功能,以增强其使用。

安装次数: 117 769

依赖项: 2

建议者: 0

安全性: 0

星级: 11

关注者: 23

分支: 2

开放问题: 23

类型:wordpress-plugin

v0.2.4 2022-12-13 13:36 UTC

README

Altis Reusable Blocks提供了企业工作流程和额外的可重复使用块功能。

Altis Reusable Blocks的主要目标是

  • 在企业管理级设置和工作流程中实现可重复使用块的无缝集成。
  • 提供一个改进的用户界面,允许更好的块发现,包括搜索和过滤。

目录

功能

Altis Reusable Blocks包括创建和发现/使用可重复使用块的新功能和改进。

关系和使用跟踪

跟踪您帖子中所有可重复使用块的使用情况。在您可重复使用块的编辑屏幕中,您将找到包含所有使用您当前正在编辑的可重复使用块的帖子的分页视图的关系侧边栏。

在可重复使用块帖子列表表中,您可以快速查看该可重复使用块的使用次数。

管理员栏和菜单

默认情况下,可重复使用块相对隐藏,只能从块编辑器中的子菜单项访问。然而,使用Altis Reusable Blocks,可重复使用块被提升为管理区域的一等公民。

对于每种其他内容类型,左侧的管理菜单现在都包含一个用于可重复使用块的专用子菜单,提供查看所有现有可重复使用块、创建新的可重复使用块以及查看和管理分类的快捷方式,以及任何为可重复使用块注册的公开可用分类法。此外,顶部现在包含一个创建新的可重复使用块的快捷方式,就像可以为帖子、媒体、页面或用户这样做一样。

分类

就像帖子或页面一样,可重复使用块可以分配一个或多个分类。这有助于通过使用块选择器中包含的专用分类过滤器来发现相关块。

过滤

当寻找要插入到帖子中的现有可重复使用块时,新的块选择器允许根据分类进行搜索/过滤。

默认情况下,分类过滤器设置为当前帖子的(主要)分类。但是,这可以更改,而不会影响帖子的分类。

搜索

除了分类过滤器外,块选择器还提供一个搜索字段。搜索查询用于查找具有匹配标题或内容(或两者)的可重复使用块。搜索结果根据使用不同权重的智能算法进行排序,用于标题匹配与内容匹配以及精确匹配与部分匹配。因此,更相关的块首先显示。

搜索输入也支持数字ID查找。通过输入块ID,结果集将仅包含一个块,准备插入。如果提供的ID是帖子ID,结果将包含该帖子引用的所有可重复使用块(如果有)。

安装

使用Composer安装

composer require humanmade/altis-reusable-blocks

构建过程

创建一个生产构建

yarn build

启动交互式开发服务器

yarn start

要求

此插件需要PHP 7.1或更高版本。

测试

PHP 测试

PHP测试文件位于tests文件夹中,每个测试级别都有子文件夹。目前,这意味着单元测试,位于tests/unit

运行PHP单元测试

composer test:unit

在底层,这使用了在composer.json文件中指定的PHPUnit。然后将脚本传递给phpunit cli的所有参数都会传递下去,这意味着您可以指定特定的文件/名称,如下所示

composer test:unit -- --filter logging

用法

PHP 过滤器

altis_post_types_with_reusable_blocks

此过滤器允许用户操作可使用可重用块并应具有阴影分类法关系的文章类型。

参数

  • $post_types (string[]):文章类型缩略名列表。

用法示例

// Add the "page" post type.
add_filter( 'altis_post_types_with_reusable_blocks', function ( aray $post_types ): array {

	$post_types[] = 'page';

	return $post_types;
} );

rest_get_relationship_item_additional_fields_schema

此过滤器允许用户在REST API返回之前修改关系数据的模式。

参数

  • $schema (array):项目模式数据。

用法示例

// Add the post author to the schema.
add_filter( 'rest_get_relationship_item_additional_fields_schema', function ( array $additional_fields ): array {

	$additional_fields['author'] = [
		'description' => __( 'User ID for the author of the post.' ),
		'type'        => 'integer',
		'context'     => [ 'view' ],
		'readonly'    => true,
	];

	return $additional_fields;
} );

rest_prepare_relationships_response

此过滤器允许用户在REST API返回之前修改关系数据。

参数

  • $response (WP_REST_Response):响应对象。
  • $post (WP_Post):文章对象。
  • $request (WP_REST_Request):请求对象。

用法示例

// Add the post author to the REST response.
add_filter( 'rest_prepare_relationships_response', function ( WP_REST_Response $response, WP_Post $post ): WP_REST_Response {

	$response->data['author'] = $post->post_author;

	return $response;
}, 10, 2 );

发布过程

版本控制

此插件遵循语义版本化

简而言之,这意味着补丁版本,例如1.2.3,只包含向后兼容的错误修复次要版本,例如1.2.0,可能包含增强、新功能、测试以及几乎所有不破坏向后兼容性的内容。对公共API的任何重大更改——无论是重命名还是删除预期用于重用的结构,或者对某些功能进行向后不兼容的更改——都应发布一个主要版本,例如2.0.0。

如果您正在使用Composer将此插件拉入您的网站构建中,请相应地选择版本约束。

发布版本

发布管理使用GitHub内置的发布功能进行。每个发布都使用相应的版本号进行标记,例如,此插件的1.2.3版本将具有标签名称v1.2.3。应从master分支创建发布,并使用正确的格式进行标记。当以正确的格式v*.*.*标记发布时,GitHub操作发布工作流将根据您刚刚创建的原始发布创建一个新的构建版本。它将复制标签的当前状态到新的标签original/v.*.*.*,然后构建项目并将构建的版本推送到原始标签名称v*.*.*。这允许Composer在不运行webpack的情况下拉取项目的构建版本。

为了更好地管理信息,每个发布都应该附带完整的、但高级别的发布说明,详细说明包括在相应版本中的所有新功能增强错误修复和其他潜在更改。