Help needed using wp_trim_words

Keep in mind that a post excerpt is not always just the first X words of a post, so while wp_trim_words() could work under certain situations, it’s a pretty rigid solution.

If you don’t want to deal with reverse-engineering the encrypted/obfuscated source file (shame on whoever did that), you might be able to get clever using the the_content filter:

/**
 * Prevent the_content() from being used on the homepage 
 * or in post archives.
 *
 * @param string $content The post content.
 * @return The post excerpt.
 */
function wpse257975_swap_content_for_excerpt( $content ) {
  if ( is_archive() || is_home() ) {
    return get_the_excerpt( get_the_ID() );
  }

  return $content;
}
add_filter( 'the_content', 'wpse257975_swap_content_for_excerpt', 1 );

It’s definitely rather hacky, but this function (which will only work in the loop, BTW), will override the post content with the post excerpt on archive and the blog homepage.

I’d recommend adjusting the conditional to be very specific to the pages you need the excerpt on, and be sure to test this in a development environment before rolling it out to production. The best solution would still be to change the inner workings of cb_build_single_blog_index_table() to suit your needs.