Style followers and subscribers differently
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
(alsodata-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
Hooks Used
Need this built rather than just documented? See our services →