【问题标题】:WordPress REST AP - Filtering json for a custom post type based on relation to another custom post typeWordPress REST AP - 根据与另一个自定义帖子类型的关系过滤自定义帖子类型的 json
【发布时间】:2018-05-11 02:21:52
【问题描述】:

我的问题与过滤与另一个自定义帖子类型相关的自定义帖子类型的 json 请求有关。我正在为 ARTIST 自定义帖子类型请求 json 数据 - 这很好用。我可以检索艺术家并将它们显示在代理页面上,而无需重新提交页面。效果很好。我想过滤该 json 请求,以便只返回 ARTIST 分配给特定代理的 ARTIST 记录。例如:

Teddy Slatus - 特工 Steve Paul - 经纪人

TimeSlip -Steve Paul 管理的艺术家 电动狐猴 - 由 Teddy Slatus 管理的艺术家 Whoops Wrong Planet - Steve Paul 管理的艺术家

当显示 Steve Paul 的代理详细信息时,单击标有“管理”的按钮并在 Steve Paul 的详细信息正下方显示 Steve Paul 的艺术家列表。我已经完成了大部分工作并且它工作但我无法弄清楚如何过滤我的艺术家 json 请求,以便只有史蒂夫保罗的艺术家在 json 中返回。我确实为艺术家-> 代理和代理-> 艺术家设置了关系自定义字段。我在 Artist json 中没有看到任何可用于按代理过滤的内容。

谢谢

【问题讨论】:

    标签: json wordpress rest


    【解决方案1】:

    在不知道您的 json 究竟长什么样的情况下,我将对此进行最佳猜测。如果您正在请求自定义帖子类型“艺术家”,并且艺术家的代理保存在自定义字段中,那么我认为您可以通过以下方式获得它:

     $args = array(
        'post_type' => 'artist'
        'meta_query' => array(
            array(
                'key' => 'agent',
                'value' => $agent_name,
                'compare' => '=',
            )
        )
    );
    $query = new WP_Query($args);
    

    然后用while ( $the_query->have_posts() )循环遍历$query

    【讨论】:

      【解决方案2】:

      如果您想从两种不同的帖子类型中进行过滤,而不是需要触发两个不同的 wp_query,并且您可以获取这两种帖子类型及其 acf 元数据并使用PHP Array Functions ( like Array Interset) 来获取公共/联合或交集。

      【讨论】:

        【解决方案3】:

        有一个方便的小插件,它有很好的记录并且仍然被维护。安装它,激活它,然后 BAM!所有自定义字段都在 REST API 上公开!如果您是 WordPress 开发人员,只需搜索插件即可:

        ACF 到 REST API

        感谢所有为本主题提供想法的人。

        标记

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2020-11-17
          • 2013-10-28
          • 2014-10-18
          • 1970-01-01
          • 2016-11-29
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多