Ver Mensaje Individual
  #6 (permalink)  
Antiguo 09/07/2010, 07:03
Avatar de metacortex
metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 6 meses
Puntos: 832
Respuesta: Posts relacionados aleatorios

Cita:
Iniciado por luciio Ver Mensaje
Hola, en mi blog uso un script php que me da articulos relacionados de cada entrada que pongo, relacionando articulos por medio de etiquetas, solo que tengo un problema cuando no hay relacion entre etiquetas no coloca nada, quisiera ver si ustedes me podrian ayudar a que cuando no tenga relacion por etiquetas mande entradas aleatorias. espero se pueda.

el codigo es este:

[php]<?php echo catch_that_image() ?>
Ahora lo que necesitamos es que nos muestre las entradas relacionadas y añadiremos la ruta de la imagen mencionada anteriormente, para eso insertamos estas líneas, por ejemplo en el archivo single.php
Código PHP:
<?php
$backup 
$post;
$tags wp_get_post_tags($post->ID);
if (
$tags) {
    
$tag_ids = array();
    foreach(
$tags as $individual_tag$tag_ids[] = $individual_tag->term_id;
 
    
$args=array(
        
'tag__in' => $tag_ids,
        
'post__not_in' => array($post->ID),
        
'showposts'=>6// Cantidad de entradas a mostrar.
        
'caller_get_posts'=>1
    
);
    
$my_query = new wp_query($args);
    if( 
$my_query->have_posts() ) {
        echo 
'<h2>Relacionado</h2><ul id="related">';
        while (
$my_query->have_posts()) {
            
$my_query->the_post();
        
?>
            <li>
            <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" width="70" height="70" /></a></li>
        <?php
        
}
        echo 
'</ul>';
    }
}
$post $backup;
wp_reset_query(); 
?>
Muchas gracias por su ayuda, Saludos !
Sería algo así:

Código PHP:
<?php
$backup 
$post;

$tags wp_get_post_tags($post->ID);
foreach(
$tags as $individual_tag
    
$tag_ids[] = $individual_tag->term_id;

$args = array(
    
'post__not_in' => array($post->ID),
    
'showposts'=>6// Cantidad de entradas a mostrar.
    
'caller_get_posts'=>1
);
if(
$tags)
    
$args[] = array('tag__in' => $tag_ids);

$my_query = new wp_query($args);
if( 
$my_query->have_posts() ) {
    echo 
'<h2>Relacionado</h2><ul id="related">';
    while (
$my_query->have_posts()) {
        
$my_query->the_post();
    
?>
        <li>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><img src="<?php echo catch_that_image() ?>" alt="<?php the_title(); ?>" width="70" height="70" /></a></li>
    <?php
    
}
    echo 
'</ul>';
}
$post $backup;
wp_reset_query(); 
?>