Oh.. I see the issue. The problem is that your “first” posts in those lists are particular posts which are designed to have no titles. This screws up the correct titles displaying for the whole list, due to a little bug in inc/parts/class-content-headings.php.
A possible solution could be:
inc/parts/class-content-headings.php:66
make this if (in_array....)
become this:
if (is_single() && in_array...)
then add the previous unaltered condition to tc_headings_view() so.
inc/parts/class-content-headings.php:98 will become:
function tc_headings_view(){
if ( in_array( get_post_format(), apply_filters('tc_post_formats_with_no_header', TC_init::$instance -> post_formats_with_no_header ) ) )
return;
But will be better waiting for a better solution @nikeo will certainly find ??
For the moment try adding the following code to your child-theme functions.php
add_action('__before_loop', 'titles_patch', 0);
function titles_patch(){
add_filter('tc_post_formats_with_no_header', 'show_titles_in_non_single');
}
function show_titles_in_non_single($post_formats_array){
remove_filter('tc_post_formats_with_no_header', 'show_titles_in_non_single');
if ( ! is_single() ){
return array_diff($post_formats_array,[get_post_format()]);
}
return $post_formats_array;
}
add_action('__before_content', 'exclude_post_formats_titles', 5);
function exclude_post_formats_titles(){
if ( in_array( get_post_format(), apply_filters('tc_post_formats_with_no_header', TC_init::$instance -> post_formats_with_no_header ) ) )
remove_action('__before_content', array(TC_headings::$instance, 'tc_headings_view'));
else
add_action('__before_content', array(TC_headings::$instance, 'tc_headings_view'));
}
Hope this helps