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

问题描述 投票:0回答:1

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

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

它正在发挥作用。

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。

谢谢!

wordpress custom-post-type advanced-custom-fields
1个回答
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;
  }
}

如果有人有另外的工作,请告诉我!

© www.soinside.com 2019 - 2024. All rights reserved.