Peticion Como indicar en WP si un MIEMBRO está ONLINE o OFFLINE ¿Me ayudáis?

trademarkos

Cobre
Usuario de Bronce
Mensajes
862
Puntuación de reacción
2
Hola,
estoy montando un foro con bbpress, y necesito poner debajo de los avatares si el MIEMBRO está online o offline..

En principio estoy probando con esto, en functions.php

Código:
function is_user_online( $user_id ) {
    // get the online users list
    $logged_in_users = get_transient( 'users_online' );

    // online, if (s)he is in the list and last activity was less than 15   minutes ago
    return isset( $logged_in_users[$user_id] ) && ( $logged_in_users[$user_id] >     ( current_time( 'timestamp' ) - ( 15 * 60 ) ) );   
}

Y en la página donde quiero mostrar si está ON o OFF pego esto:

Código:
<?php
global $post;
if( is_user_online( $post->post_author ) ) : ?>
    <p>User is online</p>
<?php else : ?>
    <p>User is offline</p>
<?php endif; ?>

Decirme que hago mal para que me muestre todo el rato que está el user OFF ... aunque si esté en línea.

Gracias de antecodo.
 

Bleed

Diamante
Usuario de Bronce
Mensajes
2,408
Puntuación de reacción
1
No trabajo mucho con CMS, pero haz un poco de debug a ver, siempre viene bien...

print_r($post);
echo $post->post_author;
var_dump(is_user_online($post->post_author));

etc...

Y otra cosa, ¿no puede ser que la funcion is_user_online te esté pidiendo el ID del usuario y tu estes pasando el nombre?

Despues tambien puedes hacer un :
Código:
  <p>User is <?=(is_user_online($post->post_author))? "online":"offline";?></p>
 
Última edición:

trademarkos

Cobre
Usuario de Bronce
Mensajes
862
Puntuación de reacción
2
Mmm si sólo se lo quieres mostrar al usuario en cuestión con esta función puedes
PHP:
is_user_logged_in()

Por el contrario si quieres mostrarlo tipo en este foro, ni idea porque habría que 'hardcodear' para hacerlo y ahora no tengo tiempo xD, tal vez este hilo te ayude, aparenta funcionar: author - How to check if a user (not current user) is logged in? - WordPress Answers

No trabajo mucho con CMS, pero haz un poco de debug a ver, siempre viene bien...

print_r($post);
echo $post->post_author;
var_dump(is_user_online($post->post_author));

etc...

Y otra cosa, ¿no puede ser que la funcion is_user_online te esté pidiendo el ID del usuario y tu estes pasando el nombre?

Despues tambien puedes hacer un :
Código:
  <p>User is <?=(is_user_online($post->post_author))? "online":"offline";?></p>

Ok chicas, voy a probar lo que decís, gracias por los tips ;)
Ya os cuento.
 
Arriba