voceconnect/objects-to-objects

WordPress 插件/模块,提供在文章和其他文章类型之间映射关系的功能

1.4.5 2016-04-06 12:41 UTC

README

贡献者:prettyboymp, klangley, csloisel, markparolisi, jeffstieler
标签:关系,映射,连接,多对多
最低要求:3.6
测试到:4.4
稳定标签:1.4.5
许可:GPLv2 或更高版本
许可URI: https://gnu.ac.cn/licenses/gpl-2.0.html

WordPress 插件/模块,提供在文章和其他文章类型之间映射关系的功能。

描述

此插件在 WordPress 的分类系统之上提供了一层开发层,简化了创建文章类型之间多对多关系的功能。

安装

作为标准插件

请参阅 安装插件

作为主题或插件依赖项

将插件拖放到包含的主题或插件中后,请添加以下内容

if( ! class_exists( 'O2O' ) ) {
	require_once( $path_to_o2o . '/objects-to-objects.php' );
}

使用方法

注册连接

关系通过 O2O::Register_Connection() 方法直接注册。

参数

  • $name (字符串) - 用于在稍后引用连接时作为查找键的字符串。
  • $from_object_types (数组,字符串) - 一组对象或文章类型,作为连接的父级。请注意,由于 O2O 使用 WP 的分类系统作为其数据接口,因此在决定哪些对象类型是来自对象与目标对象时,应谨慎行事,因为像排序这样的选项不能应用于连接的两个方向。
  • $to_object_types (数组,字符串) - 一组对象或文章类型,来自类型可以与之连接。
  • $args (数组) - 连接的选项数组
    • reciprocal (布尔值) - 默认:false。默认情况下,创建连接的能力仅在 $from_object_types 的编辑屏幕上显示。
    • rewrite (混合) - 选项:false'from''to'。默认:false。当设置为 'to' 时,将自动添加重写规则,以提供单个文章对象的附加目标对象的端点。当设置为 ```'from'``` 时,将添加重写规则,列出附加的来自对象。
    • to - (数组) - 专门应用于连接 to 对象界面的选项数组。
      • sortable (布尔值) - 默认:false。当为 true 时,用户可以设置连接对象的顺序。
      • limit (整数) - 默认:null。当设置时,允许用户添加连接项的界面将停止允许添加新连接到该对象,一旦达到限制。
      • labels (数组) - 与连接界面一起使用的标签。
        • name (字符串) - 描述连接对象时使用的复数标签。
        • singular_name (字符串) - 描述连接对象时使用的单数标签。
    • from - (数组) - 专门应用于连接 from 对象界面的选项数组。
      • limit (整数) - 默认:null。当设置时,允许用户添加连接项的界面将停止允许添加新连接到该对象,一旦达到限制。
      • labels (数组) - 与连接界面一起使用的标签。
        • name (字符串) - 描述连接对象时使用的复数标签。
        • singular_name (字符串) - 描述连接对象时使用的单数标签。
    • metabox - (数组) - 专门应用于元框用户界面的选项数组
      • orderby (字符串) - 默认:post_date。元框内按该字段排序文章。
      • order (字符串) - 默认:DESC。在元框中显示文章的顺序,ASC 或 DESC。
      • context(字符串)- 默认:side。在编辑帖子屏幕上显示元框的上下文。选项有side、normal和advanced。

示例

add_action('init', 'register_o2o_connection');
/**
 * Registers a many to many connection between posts and galleries that allows
 * related galleries to be assigned to a single post for listing.
 */
function register_o2o_connection() {
	O2O::Register_Connection('post_galleries', 'post', 'gallery', array(
		'reciprocal' => true,
		'to' => array(
			'sortable' => true,
			'labels' => array(
				'name' => 'Galleries',
				'singular_name' => 'Gallery'
			)
		),
		'from' => array(
			'labels' => array(
				'name' => 'Posts',
				'singular_name' => 'Post'
			)
		)
	));
}

查询连接

O2O提供了一个自定义WP_Query查询变量,该变量将根据给定的连接细节过滤查询。

  • o2o_query(数组)- 定义如何查询连接的数组。
    • connection(字符串)- 正在被查询的连接的键/名称。
    • direction(字符串)- 选项'to'、'from'。默认:'to'。正在查询的连接的侧面。当设置为'to'时,只返回$to_object_types
    • id(整数)- 将从中查询关系的帖子对象的ID。
    • post_name(字符串)- 将从中查询关系的帖子对象的post_name。只有在未设置id时才会使用。
  • o2o_orderby(字符串)- 设置为连接名称以按该连接的排序顺序排序结果。请注意,连接必须已设置排序为true,以便给定方向。