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

Add advanced custom fields value to a custom column in WordPress

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

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

有效。

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

姓名 |国家 |日期

如何获取海滩帖子中的国家名称?

我现在的代码:

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);

这是现在的结果:

我找不到如何通过高级自定义字段检索国家名称。它总是 return 一个数字。当我试图用 print_r 显示变量时,它没有任何 country_name.

谢谢!

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

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;
  }
}

如果有人有其他解决方法,请告诉我!