通过WordPress中的另一个自定义字段获取自定义字段值

时间:2018-02-16 作者:Italo Borges

我有一个名为houses.在此帖子类型中,我有几个自定义字段,如:

(名称-字段类型-元键)

  • 标题(wordpress字段)
  • 城市(分类-城市)
  • 公寓(定制区-公寓)
  • 海滩(定制区-海滩)
  • 国家(分类-国家)
  • 描述(定制区-描述)
  • 文本(定制区-文本)
  • 卧室(定制区-卧室)
  • 浴室(定制区-浴室)
  • 类型(分类-类型)
  • 状态(分类法-状态)
  • 区域(自定义字段-区域)
  • 完整区域(自定义字段-完整区域)
  • 位置(分类法-位置)
    • 及更多信息。

      我的网站上有一个插件,有4个选项:

      我需要做的是,在选择选项时更新这些选项。

      例如,如果我选择巴塞罗那City 和销售Status, 我需要找回所有TypesBeaches 与这些选项相同。

      我现在不需要获取帖子,只需更新选择选项,比如过滤器。

      这里有一个例子:

      Filter with selects

      PS:我正在使用高级自定义字段。

1 个回复
SO网友:Italo Borges

在努力解决这个问题后,我找到了一个行之有效的解决方法。

由于每个自定义字段都与我的自定义帖子类型有一个连接,所以我可以使用wp\\u get\\u object\\u terms来获取每个自定义分类法的术语。

使用查询检索所有帖子:

$args = array(
   \'post_type\' => \'houses\'
);
$houses = new WP_Query($args);
$posts = $houses->posts;

// get an array with all ID fields
$my_post_ids = wp_list_pluck($posts, \'ID\');
之后,我可以获得上面这些ID的术语:

$city_terms = wp_get_object_terms($my_post_ids, \'cities\');
$status_terms = wp_get_object_terms($my_post_ids, \'status\');
$type_terms = wp_get_object_terms($my_post_ids, \'type\');
为了获得选择选项时所需的行为以刷新选择信息,我只需更新查询即可。例如,如果我选择了某个城市:

$args = array( 
  \'post_type\' => \'houses\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
      array(
        \'key\' => \'city\',
        \'value\' => 107,
        \'compare\' => \'LIKE\'
      )
    )
);
要进行筛选,只需在meta\\u查询数组中添加一个新关系。

$args = array( 
  \'post_type\' => \'houses\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
      array(
        \'key\' => \'city\',
        \'value\' => 107,
        \'compare\' => \'LIKE\'
      ),
      array(
        \'key\' => \'status\',
        \'value\' => 80,
        \'compare\' => \'LIKE\'
      )
    )
);
所有这些都与Ajax结合在一起,为每个选择进行数据更新。

结束

相关推荐

通过WordPress中的另一个自定义字段获取自定义字段值 - 小码农CODE - 行之有效找到问题解决它

通过WordPress中的另一个自定义字段获取自定义字段值

时间:2018-02-16 作者:Italo Borges

我有一个名为houses.在此帖子类型中,我有几个自定义字段,如:

(名称-字段类型-元键)

  • 标题(wordpress字段)
  • 城市(分类-城市)
  • 公寓(定制区-公寓)
  • 海滩(定制区-海滩)
  • 国家(分类-国家)
  • 描述(定制区-描述)
  • 文本(定制区-文本)
  • 卧室(定制区-卧室)
  • 浴室(定制区-浴室)
  • 类型(分类-类型)
  • 状态(分类法-状态)
  • 区域(自定义字段-区域)
  • 完整区域(自定义字段-完整区域)
  • 位置(分类法-位置)
    • 及更多信息。

      我的网站上有一个插件,有4个选项:

      我需要做的是,在选择选项时更新这些选项。

      例如,如果我选择巴塞罗那City 和销售Status, 我需要找回所有TypesBeaches 与这些选项相同。

      我现在不需要获取帖子,只需更新选择选项,比如过滤器。

      这里有一个例子:

      Filter with selects

      PS:我正在使用高级自定义字段。

1 个回复
SO网友:Italo Borges

在努力解决这个问题后,我找到了一个行之有效的解决方法。

由于每个自定义字段都与我的自定义帖子类型有一个连接,所以我可以使用wp\\u get\\u object\\u terms来获取每个自定义分类法的术语。

使用查询检索所有帖子:

$args = array(
   \'post_type\' => \'houses\'
);
$houses = new WP_Query($args);
$posts = $houses->posts;

// get an array with all ID fields
$my_post_ids = wp_list_pluck($posts, \'ID\');
之后,我可以获得上面这些ID的术语:

$city_terms = wp_get_object_terms($my_post_ids, \'cities\');
$status_terms = wp_get_object_terms($my_post_ids, \'status\');
$type_terms = wp_get_object_terms($my_post_ids, \'type\');
为了获得选择选项时所需的行为以刷新选择信息,我只需更新查询即可。例如,如果我选择了某个城市:

$args = array( 
  \'post_type\' => \'houses\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
      array(
        \'key\' => \'city\',
        \'value\' => 107,
        \'compare\' => \'LIKE\'
      )
    )
);
要进行筛选,只需在meta\\u查询数组中添加一个新关系。

$args = array( 
  \'post_type\' => \'houses\',
  \'meta_query\' => array(
    \'relation\' => \'AND\',
      array(
        \'key\' => \'city\',
        \'value\' => 107,
        \'compare\' => \'LIKE\'
      ),
      array(
        \'key\' => \'status\',
        \'value\' => 80,
        \'compare\' => \'LIKE\'
      )
    )
);
所有这些都与Ajax结合在一起,为每个选择进行数据更新。

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: