将高级自定义字段值添加到WordPress中的自定义列

时间:2017-12-18 23:48:04

标签: wordpress custom-post-type advanced-custom-fields

我有两种不同的自定义帖子类型,国家和海滩。 对于国家/地区,我只有一个名称字段。

对于海滩,它有点不同,它有一个字段名称,还有我在国家/地区自定义类型中添加的国家/地区的选择。

它在工作。

Form to add a new beach connected to a country

现在我尝试在我的海滩自定义类型中创建自定义列:

姓名|国家|日期

如何在海滩帖子中获取国名?

我的代码现在:

function add_custom_column_to_beaches($columns) {
  return array_merge ($columns, array(
    'country' => 'Country'
  ));
}

function country_custom_column ($column, $post_id) {
  switch ($column) {
    case 'country':
      echo get_post_meta($post_id, 'country_name', true);
      break;
  }
}

add_filter ('manage_beaches_posts_columns', 'add_custom_column_to_beaches' );
add_action ('manage_beaches_posts_custom_column', 'country_custom_column', 10, 2);

现在是结果:

Custom columns for advanced custom fields

我无法通过高级自定义字段找到如何检索国家/地区名称的方法。它总是返回一个数字。当我尝试用print_r显示变量时,它没有任何country_name。

谢谢!

1 个答案:

答案 0 :(得分:0)

查看高级自定义字段文档,我发现了一种适用于我的方法的方法。

function apply_custom_columns ($column) {
  global $post;
  switch ($column) {
    case 'country':
      $field = get_field_object('country_name', $post->ID);
      echo $field['value']->post_title;
      break;
  }
}

如果有人有其他工作,请告诉我!