Hey so I was able to figure out something that worked. I don’t know if this is the best way but it worked for me. Please post an answer if you have a better idea.
Basically I had to change the order in which the statements were in. The final code looked like this:
function my_show_columns($name) {
global $post;
$hidden_page = get_the_title(get_post_meta($post->ID, 'hidden_page', true));
$hidden_file = get_the_title(get_post_meta($post->ID, 'media_file', true));
$item_type = get_post_meta($post->ID, 'item_type', true);
switch ($name) {
case 'hidden_item_type':
if (empty(get_post_meta($post->ID, 'item_type', true))) {
echo 'Please select type of item to hide';
} else {
echo $item_type;
}
break;
case 'hidden_item_info':
if ( (get_post_meta($post->ID, 'item_type', true) == 'page') && (empty(get_post_meta($post->ID, 'hidden_page', true))) ) {
echo 'No selection';
} elseif ( (get_post_meta($post->ID, 'item_type', true) == 'media') && (empty(get_post_meta($post->ID, 'media_file', true))) ) {
echo 'No selection';
} elseif (get_post_meta($post->ID, 'item_type', true) == 'page') {
echo 'Title: ' . $hidden_page;
} elseif(get_post_meta($post->ID, 'item_type', true) == 'media') {
echo 'Title: ' . $hidden_file;
}
break;
}
}
I have no clue as to why this worked and the other way didn’t. I’m guessing it’s the order in which they’re evaluated. Either way, here it is.