关系

上次更新时间:2023年8月9日

描述

Relationship字段提供了一个双列组件,用于选择一个或多个帖子、页面或自定义帖子类型项目,并提供搜索、帖子类型和分类筛选控件以帮助查找结果。

屏幕截图

在ACF字段组中创建关系字段。显示的选项卡描述了字段的常规设置:字段类型、字段标签、字段名称、按职位类型筛选、按职位状态筛选、按分类筛选、用于选择将在组件中使用的上述筛选器的一组按钮以及返回格式。其他选项卡包括验证、演示、条件逻辑和高级。

在ACF字段组中创建关系字段。

内容编辑器可能显示的关系字段UI。现有的帖子、页面等如左列所示。选择它们将把它们移到右侧列。启用筛选的搜索框和下拉菜单使搜索与之建立关系的对象变得更加容易。

内容编辑器可能显示的关系字段UI。

设置

  • 按职位类型筛选
    按帖子类型过滤可选结果。如果保留为空,则显示所有帖子类型。结果按帖子类型分组,因此选定的帖子类型可以按特定顺序放置。

  • 按发布状态筛选
    按状态过滤可选结果,如已发布、草稿等。如果为空,则显示每个状态的帖子。

  • 按分类筛选
    通过一个或多个分类术语筛选可选结果。

  • 过滤器
    指定组件中显示的过滤器。从“搜索”、“帖子类型”和/或“分类”中选择。

  • 返回格式指定返回值格式。从发布对象中选择(WP_支柱)或Post ID(整数)。

  • 要求的
    在“验证”选项卡上找到,这需要输入一个输入,以防止字段接受空值。默认为关闭。

  • 最低职位
    设置所需帖子数量的限制。

  • 最大帖子数
    设置允许的帖子数量限制。

  • 说明书
    提交数据时显示说明。

  • 元素
    指定在每个结果中显示哪些元素。从“特色图像”中选择。

  • 条件逻辑
    启用此设置允许您自定义逻辑,以确定当前字段是否应可见。可以创建条件逻辑规则组以允许多个和/或语句。

  • 双向
    在“高级”选项卡上找到,启用此设置后,您可以为为此字段选择的每个值更新目标字段中的值,添加或删除要更新的项目的帖子ID、分类ID或用户ID。请参阅双向关系有关使用此设置直接在ACF的UI中创建双向关系的详细信息。

模板使用

Relationship字段将返回一个项目数组,其中每个项目都是WP_支柱对象或整数值,具体取决于“返回格式”集。

显示帖子列表(使用setup_postdata)

这个例子演示了如何循环Post对象值并显示可单击链接的列表。这里,我们使用一个名为设置postdata()启用WordPress模板函数。本例中的字段使用Post对象作为返回格式,并且是一个多值。

<?php(电话)$featured_posts=获取字段('feature_doposts');如果($featuredposts):?><ul><?php foreach($featuredposts作为$post)://为WP函数设置此post(变量必须命名为$post)。setup_postdata($post);?><li><a href=“<?php the_permalink();?>”><?php the_title();?></a><span>此帖子中的自定义字段:<?php the_field(“字段名”);?></span></li><?php端foreach;?></ul><?php(电话)//重置全局post对象,以便页面的其余部分正常工作。wp_reset_postdata();?><?php-endif;?>

显示帖子列表(不带setup_postdata)

这个例子演示了如何循环Post对象值并显示可单击链接的列表。这里,全局post变量从未更改,因此所有与“post”相关的函数都需要第二个参数来指定哪个对象。本例中的字段使用Post Object作为返回格式,并且是一个多值字段。

<?php(电话)$featured_posts=获取字段('feature_doposts');如果($featuredposts):?><ul><?php foreach($featuredposts作为$feature发布):$permalink=get_permalink($featured_post->ID);$title=get_the_title($featured_post->ID);$custom_field=获取字段('field_name',$featured_post->ID);?><li><a href=“<?php echo esc_url($permalink);?>”><?php-echo eschtml($title);?></a><span>此帖子中的自定义字段:<?php echo eschtml($custom_field);?></span></li><?php endforeach;?></ul><?php-endif;?>

笔记

自定义

“关系”字段包含用于自定义显示的帖子、和显示的文本每个帖子。

反向查询

可以对一个帖子(帖子a)执行反向查询,以查找选中它的所有帖子(贴子B、贴子C)(贴子a)。要了解有关反向查询的更多信息,请阅读这个深入的教程.

相关的