在自定义列中显示高级自定义字段值(wp_list_table)

时间:2015-04-28 11:15:14

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

我制作了一个名为地址的自定义帖子类型,并使用插件高级自定义字段为其添加了值。我想在wp-list-table的自定义列中显示这些值。

因此,我设法在自定义帖子类型(地址)中添加了一个名为视图的列。使用下面的代码。

add_filter('manage_edit-address_columns', 'my_columns');
function my_columns($columns) {
  $columns['views'] = 'Views';
  return $columns;
}

现在,我希望使用我制作的高级自定义字段中的数据填充此列(视图),并将其命名为' reserveer_url_theater_terra' (&& #39; sa url字段)并绑定到自定义帖子类型地址,但它只显示一个空列' 视图'没有来自' reserveer_url_theater_terra' 字段的值。我做错了什么,有人能指出我正确的方向吗?我应该使用wpdb来获取值吗?还是我应该做的其他事情?提前谢谢。

add_action('manage_posts_custom_column',  'my_show_columns');
function my_show_columns($name) {
global $post;
switch ($name) {
    case 'views':
        $views = get_post_meta($post->ID, 'reserveer_url_theater_terra', true);
        echo $views;
  }
}

我尝试使用get_field作为Zork建议,但我仍然无法让它工作。

$views = get_field('reserveer_url_theater_terra', $post->ID);

1 个答案:

答案 0 :(得分:1)

我找到了我的问题的答案,看起来我的过滤器,动作和功能没有正确命名。我没有正确地添加自定义帖子类型(地址)(愚蠢)和所需的任何地方。在这样做之后,一切都开始正常。谢谢你的帮助。

add_action("manage_address_posts_custom_column",  "address_custom_columns");
add_filter("manage_edit-address_columns", "address_edit_columns");

function address_edit_columns($columns){
  $columns = array(
    "cb" => "<input type=\"checkbox\" />",
    "title" => "Titel",
    "theater" => "Theater",
    "plaats" => "Plaats",
    "datum" => "Datum",
);

return $columns;
 } function address_custom_columns($column){
 global $post;

 switch ($column) {
    case "theater":
        the_field('theater', $post->ID );
        break;
    case "plaats":
        the_field('plaatss', $post->ID );
        break;
    case "datum":
        the_field('datum', $post->ID );
        break;

    }
}