很多情况下,在我们创建内容关系的时候,需要在这个内容关系上面添加点额外的信息 ,比如我们的电影网站,为电影内容关联人物时候,我们可以选择人物在这当前这部电影中的工作,比如,导演,编剧,演员等等 ... 如果是演员,我们还希望可以加上扮演的角色的名称 ....
下面我们一起来看一下 ..
打开当前主题的 functions.php ,找到注册关系类型的代码 ... 我们可以去设置一下 fields 参数, ... 为这个关系类型添加一些额外的字段 ...
输入 'fields' => array(), 这个关系类型相关的字段会放在一个大的数组里 ... 在这个数组里,我们可以再去分别定义需要的字段 ....
我们先来添加一个人物的工作字段,在创建关联的时候,用户可以选择每个人物在当前这个电影内容上的工作是什么 ...
先输入这个字段的名称 ... 工作字段可以叫它 job ... 字段的相关信息都会放在一个数组里 ... array() ... 在这个字段的数组里,我们可分别设置字段的标题,类型,还有相应的值 ...
先设置一下标题 ... 'title' => '工作', ... 这个标题会显示在关系区块上作为这个 job 字段的标题 ...
另起一行 ... 再设置下字段的类型,'type' => 'checkbox', ... checkbox 是复选框 ... 它可以让用户选择多个提供的值 ...
如果你只想让用户选择一个值,可以使用 select 类型的字段 .
下面我们再去为这个字段定义几个可以让用户选择的值 ... 这里就是可以选择的工作的名称 ...
'values' => array(),
这些值也放在一个数组里 ... 'director' => '导演', 这个就是这个字段里可以选择的其中的一个值 ... 如果用户选择这个值,那么前面的 director 会被存放在数据库里 .. 后面的 导演 ,会显示在界面上,作为这个值的标签 ...
用英文状态下的逗号,分隔不同的值 ... 再输入 'screenwriter' => '编剧' ... 然后是 actor 演员 .... 'actor' => '演员'
你可以使用这种形式为这个字段继续去添加其它的值 ...
'fields' => array(
'job' => array(
'title' => '工作',
'type' => 'checkbox',
'values' => array( 'director' => '导演', 'screenwriter' => '编剧', 'actor' => '演员' ),
),
),
文本字段
下面我们再来添加一个字段,可以让用户手工去输入, 人物在电影里扮演的角色的名称 ...
字段的名称可以定义为 character ....
然后是字段的标题 .... 'title' => '角色名称', 字段的类型可以使用 text ... 这个字段类型可以让用户输入一些文字 ... 如果要输入很多文字的话,可以使用 textarea ... 类型的字段
'character' => array(
'title' => '角色名称',
'type' => 'text',
)
保存 ... 再回到电影内容的编辑界面 ... 刷新 ...
在关联的人物列表里 ... 你会看到我们添加的字段 ... 莱昂纳多 在这部电影里是 演员 ... 扮演的角色是 盗梦人 ...
艾伦 ... 也是演员 ... 扮演的是 筑梦师 ...
玛丽昂,演员 ... 扮演的是 魅影 ... 约瑟夫 的工作是演员 ... 扮演的是 前哨者
克里斯托费 在这部电影的工作是导演和编剧 ...
点击 更新 ... 可以保存这些字段里的信息 ...
下面视频我们来看一下如何利用这些关系字段