add_filter to parent theme helper class function from child theme

There is no filter. To filter a value the developer needs to create a filter by wrapping the filterable value in a call to apply_filters() with a name for that filter. They have not done that.

What they have done is make the WpkPageHelper class pluggable. This means that it’s possible for a child theme to replace the entire class.

Before defining the WpkPageHelper class, the parent theme is checking if(! class_exists('WpkPageHelper')) {. This is checking if the class has been defined already and only defining the class if it hasn’t been. Because child themes are loaded before parent themes this gives you an opportunity to define WpkPageHelper before the parent theme does. The parent theme will then use your version.

So all you need to do is copy the code for the WpkPageHelper class into your child theme’s functions.php file (or another file included in your child theme’s functions file) and make the change you want. Just leave out the class_exists() check:

class WpkPageHelper
{
    public static function zn_get_subheader( $args = array(), $is_pb_element = false )
    {
        $config = zn_get_pb_template_config();
        self::render_sub_header( $args );
    }

    public static function render_sub_header( $args = array() )
    {
        $defaults = array(
            'title_tag' => 'span'
        );
    }   
}

This is what WordPress and some themes and plugins are doing when they wrap class and function definitions in conditional statements. You’ll occasionally see conditions like if ( ! function_exists( 'function_name' ) ) {. This is WordPress or the theme/plugin giving developers an opportunity to define their own versions of these functions or classes for WordPress or the theme/plugin to use instead of their own.