Skip to content

Instantly share code, notes, and snippets.

@KaineLabs
Created September 19, 2018 02:49
Show Gist options
  • Save KaineLabs/de8f769ee4793893c3ebca44748cdf9c to your computer and use it in GitHub Desktop.
Save KaineLabs/de8f769ee4793893c3ebca44748cdf9c to your computer and use it in GitHub Desktop.
Show Unearned Badges In The Badges Tab
<?php
// Show Unearned Badges In The Badges Tab
function yzc_add_unearned_badges_to_badges_list() {
add_filter( 'mycred_the_badge', 'yzc_mycred_the_badge', 10, 3 );
// Get User ID.
$user_id = bp_displayed_user_id();
// Get User Badges
$users_badges = mycred_get_users_badges( $user_id );
// Get All Site Badges.
$all_badges = mycred_get_badge_ids();
foreach ( $all_badges as $badge_id ) {
// User has not earned badge
if ( ! array_key_exists( $badge_id, $users_badges ) ) {
$badge = mycred_get_badge( $badge_id );
if ( $badge->main_image !== false ){
echo '<div class="yz-user-badge-item">';
echo apply_filters( 'mycred_the_badge', $badge->get_image( 'main' ), $badge_id, $badge, $user_id );
$badge_title = '<div class="yz-user-badge-title">' . $badge->title . '</div>';
echo apply_filters( 'yz_mycred_the_badge_title', $badge_title, $badge );
echo '</div>';
}
}
}
remove_filter( 'mycred_the_badge', 'yzc_mycred_the_badge', 10, 3 );
}
add_action( 'yz_after_user_badges_tab', 'yzc_add_unearned_badges_to_badges_list' );
// Display Badges Level Label
function yzc_mycred_the_badge( $badge_html, $badge_id, $badge ) {
// Get Badge Level
$badge_level = isset( $badge->levels[0] ) ? $badge->levels[0] : null;
if ( ! empty( $badge_level ) ) {
$badge_html = '<div class="yz-mycred-badge-level" data-yztooltip="' . $badge_level['label'] . '">' . $badge_html . ' </div>';
}
return $badge_html;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment