Skip to main content

benecaster_show_social_links

Filter Free

Filters the social profile link array for a show after stored links are loaded and any entries with empty URLs are removed. Each item in the array carries three keys: platform (string slug), url (string), and label (string). This filter fires in both the benecaster_social_links shortcode and the Social Links Episode Page block renderer.

Use this filter to inject additional platforms programmatically, remove platforms conditionally, or reorder the list before it is passed to the renderer. Items returned with an empty or null url are silently omitted by the renderer regardless of what the filter returns. Built-in platform slugs: twitter_x, instagram, facebook, youtube, tiktok, linkedin, threads, bluesky, mastodon, discord, newsletter.

Parameters

Name Type Default Description
$links array Array of {platform, url, label} objects with non-empty URLs
$show_id int ID of the show

Returns: array

Examples

Inject dynamic newsletter link

add_filter( 'benecaster_show_social_links', function( array $links, int $show_id ): array {
    $newsletter_url = my_get_newsletter_url( $show_id );
    if ( $newsletter_url ) {
        $links[] = [
            'platform' => 'newsletter',
            'url'      => $newsletter_url,
            'label'    => 'Newsletter',
        ];
    }
    return $links;
}, 10, 2 );

Remove Discord below subscriber threshold

add_filter( 'benecaster_show_social_links', function( $links, $show_id ) {
    // Remove discord when the show has fewer than 100 subscribers.
    $sub_count = benecaster_get_subscriber_count( $show_id );
    if ( $sub_count < 100 ) {
        $links = array_filter( $links, fn( $l ) => 'discord' !== $l['platform'] );
    }
    return array_values( $links );
}, 10, 2 );

Affects

Need this built rather than just documented? See our services →