Я нашел другой подход, который достиг того, к чему я стремился.
Вместо того, чтобы использовать имя столбца по умолчанию «title» (что, кажется, вызывает неожиданное поведение), я создаю столбец с именем «custom_title» "и заполнил его заголовком и описанием.
Затем я использовал фильтр" list_table_primary_column ", чтобы установить столбцы" cstom_title "в качестве столбца по умолчанию, который добавляет ссылки быстрого редактирования в каждую запись в столбце.
// Add Custom Columns to Videos list
function modify_videos_columns($columns){
unset($columns['date']);
unset($columns['author']);
unset($columns['title']);
$columns['thumbnail'] = __('Thumbnail');
$columns['custom_title'] = __('Title');
$columns['datetime'] = __('Date & Time');
return $columns;
}
add_filter('manage_video_posts_columns', 'modify_videos_columns', 5);
function display_video_custom_columns($column_name, $post_id){
switch($column_name){
case "thumbnail":
print "<a href='" . get_edit_post_link($post_id) . "'><img src='" . get_post_meta($post_id, "video_thumbnail_medium", true) . "' width='150px' /></a>";
break;
case "custom_title":
print "<strong><a href='" . get_edit_post_link($post_id) . "'>" . get_the_title($post_id) . "</a></strong>";
print "<p>" . get_field("video_description", $post_id) . "</p>";
break;
case 'datetime':
print date_format(date_create(get_field("video_datetime")), "d/m/y") . ", " . date_format(date_create(get_field("video_datetime")), "g:ia");
break;
}
}
add_action('manage_video_posts_custom_column', 'display_video_custom_columns', 5, 2);
function list_table_primary_column( $default, $screen ) {
if ( 'edit-video' === $screen ) {
$default = 'custom_title'; // Set default column
}
return $default;
}
add_filter( 'list_table_primary_column', 'list_table_primary_column', 10, 2 );