As @Toscho says, the title column is hard coded, so you cannot change that. What you can do, however, is remove the column and redefine it as a custom column:
add_filter( 'manage_pages_columns', 'wpse248405_columns', 25, 1 );
function wpse248405_columns ($cols) {
// remove title column
unset( $cols['title'] );
// add custom column in second place
$cols = array('cb' => $cols['cb']) + array('title' => __( 'Title', 'textdomain' )) + $cols;
// return columns
return $cols;
}
Now you have to make the custom column behave like the original:
add_action( 'manage_pages_custom_column', 'wpse248405_custom_column', 10, 2 );
function wpse248405_custom_column( $col, $post_id ) {
if ($col == 'title') {
$post = get_post( $post_id );
$title = _draft_or_post_title();
$can_edit_post = current_user_can( 'edit_post', $post->ID );
// set up row actions
$actions = array();
if ( $can_edit_post && 'trash' != $post->post_status ) {
$actions['title'] = '<strong><a href="' . get_edit_post_link( $post->ID, true ) . '" aria-label="' . $title . esc_attr( __( 'Edit this item' ) ) . '">' . $title . '</a></strong>';
// invoke row actions
$table = new WP_Posts_List_Table;
echo $table->row_actions( $actions, true );
}
}
}
Beware that if you mimick core behaviour in your own functions you become vulnerable to future core releases.
the_title
filter. Usingthe_title
filter you can only change the post title.