Site icon Hip-Hop Website Design and Development

Way to change the Yoast Schema depending on post type?

I’m trying to change the schema on my website to work with my custom post types, so events/jobpostings can be categorized as such.

But trying to work with a hook found on Yoast’s website, that hook doesnt even seem to be called.

Heres the code i’m working with.

add_filter( 'wpseo_schema_article', 'change_article_to_social_posting' );
add_filter( 'wpseo_schema_webpage', 'change_article_to_social_posting' );
function change_article_to_social_posting( $data ) {
    $meta = get_post_meta(get_the_id());
    if(is_singular('careers')) : 
        $data['@type'] = "JobPosting";
         $data['datePosted'] = get_the_date('c');
    elseif(is_singular('events')) : 
        $data['@type'] = "Event";
        $data['doorTime'] = $meta['event_time'][0];
        $data['startDate'] =  $meta['event_date'][0];
        $data['organizer'] = get_bloginfo('name');
        $data['location'] =  $meta['event_loc'][0];
    elseif(is_singular('post') :
        $data["@type"] =  "Article";
        $data["articleBody"] = strip_tags(get_the_content());
    else : 
        $data["@type"] = "WebPage";
    endif;
    //$data['@type'] = 'SocialMediaPosting';
    return $data;
}

For some reason, this doesn’t seem fo be able to change the ld+json of the page.