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?
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()?>
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(); ?>