hokoo / wpconnections
WordPress中多对多关系的库
dev-master
2024-09-10 11:50 UTC
Requires
- psr/log: >=1.1
- ramsey/collection: ^1.3
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^1.0
- johnpbloch/wordpress-core: 5.0.13
- phpcompatibility/phpcompatibility-wp: ^2.1
- phpunit/phpunit: 9.6.x-dev
- squizlabs/php_codesniffer: ^3.7
- symfony/var-dumper: 5.4.x-dev
- wp-coding-standards/wpcs: ^2.3
- yoast/phpunit-polyfills: ^3.0
This package is auto-updated.
Last update: 2024-09-10 11:50:53 UTC
README
wpConnections允许通过图形连接链接WordPress中的帖子。该库提供了如下连接属性:
- 方向(从,到)
- 从帖子ID
- 到帖子ID
- 顺序
- 元数据。
连接属于关系,并且永远不会独立存在。关系具有以下属性:
- 基数(1-1,1-m,m-1,m-m)
- 从帖子类型
- 到帖子类型
- 方向类型(从,到,双向)
- 可复制(是否可能有相同的连接)
- 可封闭(是否可以在从和到中有相同的帖子)。
示例。有四个CPT:
magazine
、issue
、article
和author
。杂志帖子可能与一些Issue(一对一类型)有关联,从而使Issue构成杂志。
反过来,Issue又与Article(一对一)有关联。但作者可能与许多Article有关联,而一篇文章可能与许多Author有关联(多对多)。
为什么选择wpConnection?
它可以作为多个安装的库,成为WordPress安装中不同插件的一部分。你需要为你的应用程序创建一个客户端实例。每个客户端都有自己的表和REST API钩子,并且不会影响其他客户端。
好的,我该如何开始使用?
完整文档可在Wiki项目页面上找到。
添加包
composer require hokoo/wpconnections
因此,你必须创建客户端实例...
use iTRON\wpConnections\Client; $wpc_client = new Client( 'my-app-wpc-client' );
...以及为你的连接创建关系。
use iTRON\wpConnections\Query; $qr = new Query\Relation(); $qr->set( 'name', 'post-to-page' ); $qr->set( 'from', 'post' ); $qr->set( 'to', 'page' ); $qr->set( 'cardinality', 'm-m' ); $wpc_client->registerRelation( $qr );
好的,现在你可以在关系中创建连接。
$qc = new Query\Connection(); $qc->set( 'from', $post_id_from ); $qc->set( 'to', $post_id_to ); $wpc_client->getRelation( 'post-to-page' )->createConnection( $qc );
由于你初始化了新的客户端,其REST API端点是可用的。
http://cf7tgdev.loc/wp-json/wp-connections/v1/client/my-app-wpc-client/