Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Posts más populares en base a las visitas

Estas en el tema de Posts más populares en base a las visitas en el foro de WordPress en Foros del Web. Hola compañeros!, Busqué un código para mostrar los posts más populares y me gustaría editar una cosa. Cómo puedo hacer para que los posts que ...
  #1 (permalink)  
Antiguo 24/07/2013, 14:29
 
Fecha de Ingreso: septiembre-2008
Ubicación: España
Mensajes: 230
Antigüedad: 16 años, 2 meses
Puntos: 0
Pregunta Posts más populares en base a las visitas

Hola compañeros!,

Busqué un código para mostrar los posts más populares y me gustaría editar una cosa. Cómo puedo hacer para que los posts que me muestren correspondan solo a la categoría a la que pertenece? ya que ahora me muestra los posts más populares de todas las categorías.

Un saludo y muchas gracias.

<?php

$popularpost = new WP_Query( array( 'posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();

the_title();

endwhile;
?>
  #2 (permalink)  
Antiguo 24/07/2013, 17:31
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
No se a que te refieres con la categoria a la que pertenecen pero creo que esto te servira de ayuda: http://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters
  #3 (permalink)  
Antiguo 24/07/2013, 18:01
 
Fecha de Ingreso: septiembre-2008
Ubicación: España
Mensajes: 230
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Posts más populares en base a las visitas

Hola Laura! Gracias por tu respuesta.

Con las categorías me refiero a lo siguiente. Por ejemplo, yo he creado una categoría llamada "Fotos de Verano", otra categoría "Fotos de Invierno". Pues bien, con el código que yo puse antes, me muestra las fotos más populares de Verano y de invierno también.

Yo lo que me gustaría es que en la página de "Fotos de Invierno", solo mostrase las fotos más vistas de Invierno.

No sé si me he explicado mejor...

Un saludo y espero tu respuesta ;)
  #4 (permalink)  
Antiguo 25/07/2013, 02:51
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
En el enlace que te puse tienes lo que necesitas.
Solo tienes que añadir otro parametro a la query que has echo, especificando de que categoria quieres que se muestren los posts.
  #5 (permalink)  
Antiguo 25/07/2013, 11:00
 
Fecha de Ingreso: septiembre-2008
Ubicación: España
Mensajes: 230
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Posts más populares en base a las visitas

HOla laura, soy muy nuevo en la programación y wordpress y todavía me cuesta. pido paciencia jeje.

Varias dudas, el código del codex dónde lo tengo que pegar? Así??:


<?php

$popularpost = new WP_Query( array( 'posts_per_page' => 1, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();

$query = new WP_Query( 'category_name=NOMBRE_CATEGORIA' );


?>

Y otra cosa... No hay alguna manera para que solo me muestre el código de esa categoría. Viendo el codex, o tal vez no lo haya entendido bien. Lo que se puede hacer es, o añadir varias categorías o excluirlas. pero lo que yo busco es que dependiendo de la categoría donde esté muestre los posts dmás populares de ella. Ya uqe no puedo poner el código en category.php referente solo a una categoría, porque entonces el resto mostraría solo esa categoría.

no sé si me explico bien jejej
  #6 (permalink)  
Antiguo 25/07/2013, 11:12
 
Fecha de Ingreso: septiembre-2008
Ubicación: España
Mensajes: 230
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Posts más populares en base a las visitas

Mejor, pongo el código que estoy usando y así vamos al kit del asunto:


- - - - -- - -

CATEGORY.PHP

<?php
$popularpost = new WP_Query( array( 'posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();

?>


<a href="<?php the_permalink(); ?>">
<li>
<div class="info"><span>Featured photo</span><h1><?php the_title(); ?></h1></div>
<div class="mascara"></div>
<div class="imagen"><?php the_post_thumbnail( 'category-thumb' ); ?></div>
</li>
</a>

<?php

endwhile;
?>



- - - - - - - -

FUNCTION.PHP
Este código guarda las visitas de cada post:




function wpb_set_post_views($postID) {
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
$count = 0;
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
}else{
$count++;
update_post_meta($postID, $count_key, $count);
}
}
//To keep the count accurate, lets get rid of prefetching
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);


function wpb_track_post_views ($post_id) {
if ( !is_single() ) return;
if ( empty ( $post_id) ) {
global $post;
$post_id = $post->ID;
}
wpb_set_post_views($post_id);
}
add_action( 'wp_head', 'wpb_track_post_views');
  #7 (permalink)  
Antiguo 27/07/2013, 17:06
laura_moreno14
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Posts más populares en base a las visitas

Puedes cojer el id de la categoria y utilizarlo en el query que utilizas para mostrar los post populares.

Te mustro como:

<?php
$cat_id = get_query_var('cat');
$popularpost = new WP_Query( array( 'posts_per_page' => 5, 'meta_key' => 'wpb_post_views_count', 'orderby' => 'meta_value_num', 'order' => 'DESC', 'cat' => $cat_id ) );
while ( $popularpost->have_posts() ) : $popularpost->the_post();

?>


<a href="<?php the_permalink(); ?>">
<li>
<div class="info"><span>Featured photo</span><h1><?php the_title(); ?></h1></div>
<div class="mascara"></div>
<div class="imagen"><?php the_post_thumbnail( 'category-thumb' ); ?></div>
</li>
</a>

<?php

endwhile;
?>

Creo que así debería funcionar.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:47.