Skip to main content

Style followers and subscribers differently

Premium Beginner

Free followers stay on the Supporter Wall alongside paying subscribers — core only labels them (a muted Follower chip) and classifies the markup so your theme decides how different they look. Three surfaces carry the classification, all in markup:

  • Supporter Wall card: .benecaster-supporter-wall__card.is-follower / .is-subscriber
    (also data-token-type).
  • Badge wrapper, when a show is in context (the wall, [benecaster_user_badge show_id="…"]): .benecaster-user-badges.is-follower / .is-subscriber.
  • The chips themselves: the Follower chip and the tenure chip carry .is-follower /
    .is-subscriber.
  • Account page: .benecaster-account__subscription.is-follower / .is-subscriber.
/* Paying subscribers get a highlighted card; followers stay quieter. */
.benecaster-supporter-wall__card.is-subscriber {
    border: 2px solid var(--wp--preset--color--primary, #4C1D95);
}
.benecaster-supporter-wall__card.is-follower {
    opacity: 0.85;
}

To drop the Follower chip entirely and rely on your own styling instead, remove its row on benecaster_user_badges — it is the only row with source === 'follower_auto':

⚠ Classify, don’t exclude. Do not filter followers out of the wall’s rows to “fix” the look — they opted in, and the operator ruling is that they are shown. Style them instead. The REST endpoint GET /shows/{id}/supporter-wall gives headless front ends the same signal as a token_type field on every item.

Code

<?php
add_filter( 'benecaster_user_badges', function ( array $badges ): array {
    return array_values( array_filter(
        $badges,
        static fn( $b ) => 'follower_auto' !== ( $b->source ?? '' )
    ) );
}, 20 ); // after core appends it at priority 15

View on GitHub →

Hooks Used

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