Title

PHP WP Admin custom column in custom posts

description

How to add custom column, with custom field values, to custom posts in wp-admin

Published 2022-10-06

Modified 2022-10-06

content

				
					// ADD NEW COLUMNS
add_filter( 'manage_rp_factuur_posts_columns', 'rp_filter_posts_columns' );
function rp_filter_posts_columns( $columns ) {
  $columns['klant'] = __( 'Klant', 'rp' );
  $columns['project'] = __( 'Project', 'rp' );
  $columns['totaalbedrag'] = __( 'Totaalbedrag', 'rp' );
  return $columns;
}
// REORDER AND REMOVE DEFAULT COLUMNS
add_filter( 'manage_rp_factuur_posts_columns', 'rp_facturen_columns' );
function rp_facturen_columns( $columns ) {
	$columns = array(
      'cb' => $columns['cb'],
      'title' => __( 'Title' ),
      'klant' => __( 'Klant', 'rp' ),
      'project' => __( 'Project', 'rp' ),
      'totaalbedrag' => __( 'Totaalbedrag', 'rp' ),
    );
  return $columns;
}
// POPULATE COLUMNS
add_action( 'manage_rp_factuur_posts_custom_column', 'rp_facturen_column', 10, 2);
function rp_facturen_column( $column, $post_id ) {  
  
  // Klant column
  if ( 'klant' === $column ) {
    $klant = get_post_meta( $post_id, 'klant', true );

    if ( ! $klant ) {
      _e( 'n/a' );  
    } else {
      echo get_post_meta( $post_id, 'klant', true );
    }
  }
  // Project column
  if ( 'project' === $column ) {
    $project = get_post_meta( $post_id, 'project', true );

    if ( ! $project ) {
      _e( 'n/a' );
    } else {
      echo get_post_meta( $post_id , 'project' , true );
    }
  }
  // Bedrag column
    if ( 'totaalbedrag' === $column ) {
    $totaalbedrag = get_post_meta( $post_id, 'totaalbedrag', true );

    if ( ! $totaalbedrag ) {
      _e( 'n/a' );
    } else {
      echo  '€ ' . get_post_meta( $post_id , 'totaalbedrag' , true );
    }
  }
}