web-dev-qa-db-fra.com

Afficher la notification buddypress dans le frontend

J'ai un site web buddypress et ce que je veux, c'est montrer dans le frontend la notification que buddybar a dans le backend, mais seulement la notification pas toute la buddybar.

définir essentiellement la notification comme facebook ....

comment puis je faire ça?

1
Manuele Carlini

Mettez le code suivant dans votre fichier functions.php. Si vous voulez une démo, je peux vous montrer.

// my custom notification menu www.cityflavourmagazine.com

function my_bp_adminbar_notifications_menu() {
global $bp;

if ( !is_user_logged_in() )
    return false;

echo '<li id="top-notification">';
_e( 'Alerts', 'buddypress' );

if ( $notifications = bp_core_get_notifications_for_user( $bp->loggedin_user->id ) ) { ?>
    <span><?php echo count( $notifications ) ?></span>
<?php
}

echo '</a>';
echo '<ul>';

if ( $notifications ) {
    $counter = 0;
    for ( $i = 0; $i < count($notifications); $i++ ) {
        $alt = ( 0 == $counter % 2 ) ? ' class="alt"' : ''; ?>

        <li<?php echo $alt ?>><?php echo $notifications[$i] ?></li>

        <?php $counter++;
    }
} else { ?>

    <li><a href="<?php echo $bp->loggedin_user->domain ?>"><?php _e( 'You have no new alerts.', 'buddypress' ); ?></a></li>

<?php
}

echo '</ul>';
echo '</li>';
}

Utilisez le code suivant pour l'appeler n'importe où. Remarque: vous pouvez modifier le code ci-dessus à votre guise.

<?php my_bp_adminbar_notifications_menu()?>

2
user2011524

regardez cette page http://www.colegeissinger.com/blog/2012/12/04/get-buddypress-notifications-count/ où il explique comme ci-dessous:

Mettez cette fonction dans votre fichier functions.php

    function cg_current_user_notification_count() {
    $notifications = bp_core_get_notifications_for_user(bp_loggedin_user_id(), 'object');
    $count = !empty($notifications) ? count($notifications) : 0;

    echo $count;
     }

en utilisation frontale,

Notificaitons : <?php cg_current_user_notification_count(); ?>
1
ewroman