I have created two custom columns for the admin screen of a custom post type I created.
The first column displays an image from the an ACF field and it’s working fine. I have a second column named “Featured”. I’m trying to show either “Yes” or “No” depending if the field is checked. The field is using a True/False checkbox. If the user checks this box “Featured” I want the column to display “Yes” and it the field is not check it should display “No”.
Here’s my custom columns code:
add_filter( 'manage_edit-model_columns', 'my_columns_filter', 10, 1 );
function my_columns_filter( $columns ) {
$column_thumbnail = array( 'thumbnail' => 'Model Photo' );
$column_featured = array( 'Featured' => 'Featured Model' );
$columns = array_slice( $columns, 0, 1, true ) + $column_thumbnail + array_slice( $columns, 1, NULL, true );
$columns = array_slice( $columns, 0, 3, true ) + $column_featured + array_slice( $columns, 3, NULL, true );
return $columns;
}
add_action( 'manage_posts_custom_column', 'my_column_action', 10, 1 );
function my_column_action( $column ) {
global $post;
$model_pic = get_field('model_photo');
switch ( $column ) {
case 'thumbnail':
if ($model_pic) {
echo '<img src="' . $model_pic . '" width="125" />';
break;
} else {
echo '<div style="width:123px;height:186px;background:rgba(0,0,0,.05);line-height:188px;text-align:center;border:1px solid rgba(0,0,0,.04);"><span style="padding:0px 15px;word-wrap: normal !important;">No Photo</span></div>';
}
}
}
I tried adding this to the code:
elseif($column == 'featured')
{
if(get_field('featured'))
{
echo 'Yes';
}
else
{
echo 'No';
}
}
So the full code is:
add_filter( 'manage_edit-model_columns', 'my_columns_filter', 10, 1 );
function my_columns_filter( $columns ) {
$column_thumbnail = array( 'thumbnail' => 'Model Photo' );
$column_featured = array( 'Featured' => 'Featured' );
$columns = array_slice( $columns, 0, 1, true ) + $column_thumbnail + array_slice( $columns, 1, NULL, true );
$columns = array_slice( $columns, 0, 3, true ) + $column_featured + array_slice( $columns, 3, NULL, true );
return $columns;
}
add_action( 'manage_posts_custom_column', 'my_column_action', 10, 1 );
function my_column_action( $column ) {
global $post;
$model_pic = get_field('model_photo');
switch ( $column ) {
case 'thumbnail':
if ($model_pic) {
echo '<img src="' . $model_pic . '" width="125" />';
break;
} else {
echo '<div style="width:123px;height:186px;background:rgba(0,0,0,.05);line-height:188px;text-align:center;border:1px solid rgba(0,0,0,.04);"><span style="padding:0px 15px;word-wrap: normal !important;">No Photo</span></div>';
}
}
}
if($column == 'featured')
{
if(get_field('featured'))
{
echo 'Yes';
}
else
{
echo 'No';
}
}
The column is showing up but there’s nothing displayed.
maybe just a stupid question:
would it work if the column name of featured is lowercase?
$column_featured = array( 'featured' => 'Featured' );
and at frontend:
did this code works?
if(get_field('featured')) {
echo 'Yes';
} else {
echo 'No';
}
Wow, sorry for that. It was the uppercase “F” and yes the code:
if(get_field('featured')) {
echo 'Yes';
} else {
echo 'No';
}
does work. Thanks Mediawerk
I generally prefer using custom code rather than plugins when trying to accomplish these sorts of things, but I wonder if you’ve heard of Admin Columns Pro? It is insanely cool for doing these sorts of things and has direct ACF integration. I can’t even tell you how much time it has saved me. I have no affiliation with them at all, just passing on some useful info!
Thank you Dalton,
I have checked it out and it does look very interesting. I maybe purchasing it if the need comes up for any further custom column issues.
The export to php feature makes it very nice for developer’s in fact that’s why I purchased ACF Pro (the export to php feature).
The topic ‘How to show field True/False in admin column for custom post type’ is closed to new replies.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Cookie Policy. If you continue to use this site, you consent to our use of cookies.