Rows with custom columns not well formatted after Quick Edit save

I have a custom post type "promotion" made via code put on theme file functions.php. I also added some columns to custom post type list. They seems work fine, but if I Use the quick edit to update the post, the custom columns disappear on save action.

The code used to add the custom columns:

// ADD NEW COLUMN
function promo_columns_head($defaults) {
  global $post_type;
  if ( $post_type === 'promotion' ) {
    $new = array();
    foreach ($defaults as $k = $value){
        if ($k !== 'author')
          $new[$k] = $value;
        else {
          $new['valid_from'] = __('Valid From');
          $new['valid_until'] = __('Valid Until');
          $new['status'] = __('Status');
        }

        if ($k == 'cb') {
            $new['image'] = __('Image');
            $new['approvals'] = __('Approvals');
        }
    }
    return $new;
  } else {
    return $defaults;
  }
}

// HANDLE COLUMNS CONTENT
function promo_columns_content($column_name, $post_ID) {
  global $post_type;
  if ( $post_type === 'promotion' ) {
    if ($column_name == 'approvals') {
      // some code here to handle approval content
    }
    if ($column_name == 'image') {
      // some code here to retrieve the right url of external image
      echo 'img src="https://ur/of/external/image" alt=""';
    }
    if ($column_name == 'valid_from') {
      the_field("valid_from");
    }
    if ($column_name == 'valid_until') {
      the_field("valid_until");
    }
    if ($column_name == 'status') {
      $statuses = get_post_statuses();
      $status = get_post_status($post_ID);
      echo "span class=\"$status\"$statuses[$status]/span";
    }
  }
}
add_filter('manage_posts_columns', 'promo_columns_head');
add_action('manage_posts_custom_column', 'promo_columns_content', 10, 2);

Custom post type listing

Custom post type listing after saving update from quick edit

The custom columns are not present, author column (that I didn't show) is now present

Any help are appreciated

Topic quick-edit custom-field custom-post-types Wordpress

Category Web

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.