[Duda] VBridge

Lectro Seguir

Gamma
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
15 Oct 2009
Mensajes
186
Hola compañer@s,

Veréis, estoy haciendo una Web con Wordpress, por ello instalé el Puente de Usuarios con el Hack VBridge, lo que pasa es que en los comentarios de las entradas de la Web me gustaría que saliera el avatar que tienen en el Foro el Usuario/a que comentó, ¿Cómo puedo hacer esto?

Saludos!
 

UndeR

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Desde
2 Sep 2008
Mensajes
37
Hola Lectro,

Yo lo hice en Pesca y Devolución pero es a mano. Hice lo siguiente:

En el archivo "single.php" del tema que estés usando, busca la función "the_content()" que muestra el contenido de tu post y debajo agrega esto:

PHP:
<?php
                            if (function_exists('Comment_Handler') and $vbridge == '') {
                            
                                $vbridge = Comment_Handler($post->ID);
                            
                                global $vbulletin; 
                            }
							?>
							<?php
							
                            function imageResize($width, $height, $target) {
							
							if (!$target) {
								$target = 70;
							}
                            
                            if ($width > $height) {
                            	$percentage = ($target / $width);
                            } else {
                            	$percentage = ($target / $height);
                            }
							
                            $width = round($width * $percentage);
                            $height = round($height * $percentage);
                            
                            return "width=\"$width\" height=\"$height\"";
                            
                            }
							
							function commenterimageResize($width, $height, $target) {
								
								global $ht, $wd, $commenter_avatar_img;
							
							if (!$target) {
								$target = 70;
							}
                            
                            if ($width > $height) {
                            	$percentage = ($target / $width);
                            } else {
                            	$percentage = ($target / $height);
                            }
							
                            $width = round($width * $percentage);
                            $height = round($height * $percentage);
                            
                            return "width=\"$width\" height=\"$height\"";
                            
                            }
                            
							$avatar_img = getimagesize(get_option('vbb_VBURL')."/image.php?u=".$vbridge['thread_starter']);
							
							
							function user_avatar($user_id){
								
								global $avatar;
								
								list($width, $height) = getimagesize(get_option('vbb_VBURL')."/image.php?u=".$user_id);
							
								if ($width <= 50) {
									
									$avatar =  bloginfo('template_directory')."/images/avatar-generico.png";
									
								} else {
									
									$avatar = get_option('vbb_VBURL')."/image.php?u=".$user_id;
									
								}
								
								return $avatar;
							
							}
							
							function commenter_avatar($comm_author){
								
								global $comm_avatar;
								
								list($width, $height) = getimagesize(get_option('vbb_VBURL')."/image.php?u=".$comm_author);
							
								if ($width <= 50) {
									
									$comm_avatar =  bloginfo('template_directory')."/images/avatar-generico.png";
									
								} else {
									
									$comm_avatar = get_option('vbb_VBURL')."/image.php?u=".$comm_author;
									
								}
								
								return $comm_avatar;
								return $ht;
								return $wd;
							
							}
							
							global $avatar_address, $comm_avatar;
							
							$avatar_address = user_avatar($vbridge['thread_starter']);
							
							?>
Después busca donde aparece el autor del post y pones:
PHP:
<img src="<?php echo user_avatar($vbridge['thread_starter']) ?>" <?php echo imageResize($avatar_img[0], $avatar_img[1], 80); ?> alt="Avatar de <?php echo the_author_link() ?>" />
donde quieres mostrar el avatar del autor y
PHP:
<a href="<?php echo get_option('vbb_VBURL'); ?>/member.php?u=<?php echo $vbridge['thread_starter'] ?>"><?php echo the_author_link() ?>
para hacer un link a su perfil de usuario en el foro.

Para los comentarios, es medio complicado porque depende del tema que estés utilizando. En mi caso, modifiqué el archivo "theme-comments.php" que está dentro de la carpeta "includes" de mi tema y modifiqué la función "custom_comment()" que tenía el tema y quedó así:
PHP:
function custom_comment($comment, $args, $depth) {
   $GLOBALS['comment'] = $comment;
   
	global $comm_avatar, $commenter_avatar, $ht, $wd, $comm_author, $user, $author; ?>
                 
	<li <?php comment_class(); ?> id="li-comment-<?php comment_ID() ?>">
    
    	<a name="comment-<?php comment_ID() ?>"></a>
      	
      	<div class="comment-container">

			<?php if(get_comment_type() == "comment"){ 
            
            $commenter_id = $comment->user_id;
			
			$commenter_avatar_img = getimagesize(get_option('vbb_VBURL')."/image.php?u=".$commenter_id);
			
			?>
            
            <div class="avatar"><img alt="Avatar de <?php echo the_commenter_link() ?>" src="<?php echo commenter_avatar($commenter_id); ?>" class="avatar avatar-70 photo avatar-default" <?php echo commenterimageResize($commenter_avatar_img[0], $commenter_avatar_img[1], 70); ?> /></div>
        
            <?php } ?>
      	    
            <div class="comment-right">
                    
                <div class="comment-head">
                                
                    <span class="name fl"><a href="<?php echo get_option('vbb_VBURL'); ?>/member.php?u=<?php echo $commenter_id ?>"><?php the_commenter_link() ?></a></span>
                    
                    <?php if(get_comment_type() == "comment"){ ?>
                    
                        <span class="reply fr"><?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?></span><!-- /.reply -->
                        <span class="date fr"><a href="<?php echo get_comment_link(); ?>" title="<?php _e('Direct link to this comment', 'woothemes'); ?>"><?php echo get_comment_date($GLOBALS['woodate']) ?> <?php _e('at', 'woothemes'); ?> <?php echo get_comment_time(); ?></a></span>
                    <?php }?>
                        <span class="edit fr"><?php edit_comment_link('Edit &nbsp;', '', ''); ?></span>
                                        
                </div><!-- /.comment-head -->
              
                <div class="comment-entry"  id="divcomment-<?php comment_ID(); ?>">
                
                    <?php comment_text() ?>
                    
                    <?php if ($comment->comment_approved == '0') { ?>
                        <p class='unapproved'><?php _e('Your comment is awaiting moderation.', 'woothemes'); ?></p>
                    <?php } ?>
                    
        
                </div><!-- /comment-entry -->
            
            </div><!-- /comment-right -->
		
		</div><!-- /.comment-container -->
		
<?php 
}
Lo que hago es reutilizar las mismas funciones de reducción de imágenes que puse en single.php y traer los avatares y links de los perfiles de quienes comentan del foro.

Espero que te sirva de algo.

Saludos,
 
Arriba