Si alguna vez has desplazado hasta el final de uno de nuestros artículos, probablemente hayas notado nuestro widget '¡Lo más popular en WPBeginner ahora mismo!'. Esta función ha sido un éxito entre nuestros lectores, ayudándoles a descubrir nuestro contenido más valioso y animándoles a explorar más de nuestro sitio.
Al destacar tus publicaciones de blog de WordPress más populares, no solo ayudas a los lectores a encontrar tu mejor contenido, sino que también impulsas las métricas de interacción de tu sitio. Es una situación en la que todos ganan: los visitantes obtienen contenido excelente y tú los mantienes en tu sitio por más tiempo.
En este artículo, te mostraremos cómo mostrar fácilmente tus publicaciones más populares basándote en sus vistas en WordPress.

¿Por qué mostrar las publicaciones populares por vistas en WordPress?
Cuando los usuarios ven tus publicaciones de blog de WordPress más populares, pueden descubrir qué contenido les gusta más a sus compañeros lectores. De esta manera, pueden consultar esos artículos y unirse a la conversación.
Además, mostrar tu contenido más popular en WordPress puede impulsar tu prueba social. Es como decirle a los nuevos usuarios: '¡Oye, otras personas han encontrado estas publicaciones muy útiles, y tú también podrías!'

Finalmente, mostrar tus publicaciones de blog de tendencia puede hacer que las personas permanezcan más tiempo en tu sitio web, aumentando tus visitas a la página y reduciendo tu tasa de rebote.
Mientras más aumenta la interacción de tus usuarios, más considera Google que tu contenido es bueno e importante. A su vez, tu SEO de WordPress mejora y tu sitio puede posicionarse más alto.
Desafortunadamente, WordPress no tiene una función o bloque integrado para mostrar tus publicaciones más populares por número de visitas. En esta guía, te mostraremos cómo hacer exactamente eso con un plugin y con código.
Simplemente haz clic en uno de los enlaces rápidos a continuación para saltar directamente a tu método preferido:
- Método 1: Mostrar las publicaciones populares de WordPress por visitas con MonsterInsights (Recomendado)
- Método 2: Mostrar las publicaciones populares de WordPress por visitas con código (Más avanzado)
- Tutorial en video
Método 1: Mostrar las publicaciones populares de WordPress por visitas con MonsterInsights (Recomendado)
La forma más fácil de mostrar las publicaciones populares por visitas en WordPress es con un plugin. En realidad, hay muchos plugins de publicaciones populares para WordPress disponibles, pero en nuestra opinión, la mejor opción es MonsterInsights.

Utilizado por más de 3 millones de sitios web en todo el mundo, MonsterInsights es el mejor plugin de Google Analytics para WordPress. Si bien su función principal es el análisis, también tiene una función fácil de usar para mostrar tus publicaciones más populares.
Primero lo primero, necesitarás instalar el plugin MonsterInsights y conectarlo a tu cuenta de Google Analytics. Para más detalles, consulta nuestra guía paso a paso sobre cómo instalar Google Analytics en WordPress para principiantes.
Nota: Aunque hay una versión gratuita de MonsterInsights disponible, utilizaremos la versión Pro ya que incluye la función de publicaciones populares.
Elige un Tema para el Widget de Publicaciones Populares
Una vez que hayas activado y configurado el plugin, ve a Insights » Publicaciones Populares desde el panel de WordPress. Luego, haz clic en el elemento del menú 'Widget de Publicaciones Populares'.

Al desplazarte hacia abajo, deberás seleccionar un tema para mostrar el widget de publicaciones populares. Hay varias opciones.
Algunos incluyen una imagen destacada para la publicación, mientras que otros tienen un aspecto más minimalista.

Si quieres ver cómo se ve el tema antes de tomar tu decisión, simplemente baja en la página hasta la sección Vista previa del tema.
También puedes previsualizar el tema en formato Ancho o Estrecho. Con el formato Ancho, verás tus publicaciones listadas debajo del contenido de la página o publicación, mientras que el formato Estrecho muestra las publicaciones a la derecha, como una barra lateral.

A continuación, desplacémonos hacia abajo hasta la sección 'Personalizar diseño'. Aquí, puedes modificar los colores del tema, el tamaño de fuente, el diseño y el número de publicaciones a mostrar.
Las opciones de personalización aquí pueden variar dependiendo del tema que uses. Así que, asegúrate de explorar los diferentes temas para ver cuál te conviene más.

Configurar el comportamiento del widget de publicaciones populares
Una vez que hayas configurado el diseño del tema, debes ir a la sección Comportamiento. Aquí es donde controlarás cómo aparecerá el widget de publicaciones populares en tu sitio web de WordPress.
En la configuración de Estilo del widget, puedes elegir usar el diseño que has creado anteriormente u optar por no aplicar estilo al widget en absoluto. Con la segunda opción, el widget seguirá el CSS del tema de tu sitio de WordPress.
Luego, puedes elegir cómo el widget debe seleccionar tus publicaciones más populares. Para este tutorial, elige 'Comisariado', pero también puedes mostrar las publicaciones más populares según el número de comentarios.

Lo que tienes que hacer a continuación es habilitar la opción ‘Agregar las 5 publicaciones principales de Google Analytics’ a continuación. Pero antes de hacerlo, necesitarás el Complemento de Dimensiones de MonsterInsights y agregar el tipo de publicación como una nueva dimensión personalizada.
Esto permitirá a MonsterInsights elegir las publicaciones más populares basándose en los datos de Google Analytics.
Para hacer esto, tienes que descargar el Complemento de Dimensiones de MonsterInsights e instalarlo como un plugin en WordPress. Para obtener instrucciones paso a paso, consulta nuestra guía sobre cómo instalar un plugin de WordPress.
A continuación, ve a Insights » Configuración y cambia a la pestaña ‘Conversiones’. Después de eso, haz clic en ‘Agregar nueva dimensión personalizada’.

Una vez que hayas hecho eso, selecciona ‘Tipo de publicación’ en el menú desplegable.
Esto permitirá a MonsterInsights rastrear el rendimiento de las publicaciones de tu blog y otros tipos de publicación personalizados.

Ahora, simplemente regresa a Insights » Publicaciones populares y ve a ‘Widget de publicaciones populares’.
Simplemente activa el botón de alternancia ‘Agregar las 5 publicaciones principales de Google Analytics’. Luego, haz clic en ‘Probar publicaciones automáticas’ para ver si la configuración fue exitosa.

Si es así, verás aparecer un mensaje de éxito.
Debería decir: ‘Los datos de las publicaciones populares se pueden obtener correctamente. Ten en cuenta: dependiendo de cuándo hayas configurado los ajustes de Dimensiones personalizadas, puede tardar hasta 7 días en ver los datos relevantes de Publicaciones populares cargándose desde Google Analytics.’

Pasando a los siguientes pasos, ahora puedes agregar un título que aparecerá encima del widget. Puede ser algo como ‘Echa un vistazo a nuestras publicaciones más populares’ o algo similar.
Debajo de eso, puedes elegir si el widget debe mostrarse en todos los tipos de publicaciones, excluirse de publicaciones específicas y/o aparecer solo en ciertas categorías de publicaciones.
Estas configuraciones son útiles si has creado tipos de publicaciones personalizadas además de las publicaciones de blog y sientes que el widget de publicaciones populares se verá irrelevante allí.

Uno de los últimos pasos es incrustar el widget de publicaciones populares. Hay varias opciones: colocarlo automáticamente, usar un bloque de Gutenberg, agregarlo como un widget de barra lateral o usar un código corto.
Vamos a revisar cada opción una por una.

Incrustar el widget de publicaciones populares automáticamente
La colocación automática se recomienda si deseas que el widget aparezca en todas las publicaciones que coincidan con la configuración de Comportamiento que estableciste previamente.
Para esto, todo lo que tienes que hacer es activar el botón de Colocación automática.

La desventaja de esta opción es que no puedes ajustar el diseño del widget según lo que se vea mejor en la publicación o página. Si necesitas este tipo de funcionalidad, entonces puedes probar el siguiente método.
Incrustar el bloque de Publicaciones Populares en una página o publicación
Si deseas tener más control sobre cómo se ve el widget en una página o publicación, entonces este método es para ti.
Primero, ve al editor de bloques de la publicación o página donde deseas que esté el widget. Después de eso, haz clic en el botón ‘+’ para agregar un bloque en cualquier lugar del editor y busca el bloque de Publicaciones Populares.

En el panel de configuración del bloque, verás que hay opciones para cambiar el tema del widget, el tamaño de fuente, los colores, el título, el diseño y el número de publicaciones.
Estas configuraciones son similares a las que hemos visto en el plugin MonsterInsights.

La única diferencia es que no puedes cambiar qué publicaciones se eligen en el widget.
Dicho esto, en la Configuración de comportamiento, es posible mostrar solo publicaciones de ciertas categorías. De esta manera, puedes hacer que las selecciones de publicaciones populares se adapten mejor a tus necesidades.

Una vez que estés satisfecho con la configuración del bloque, simplemente haz clic en el botón ‘Actualizar’ en el editor de publicaciones y páginas.
Así es como se ve el bloque de Publicaciones Populares en nuestro sitio web de prueba:

Incrustar el widget de Publicaciones Populares en una barra lateral
Si estás utilizando un tema de WordPress que no es de bloques y tiene un área de barra lateral lista para widgets, entonces puedes agregarle el widget de Publicaciones Populares. Esto es lo que hicimos en nuestro artículo cómo agregar publicaciones destacadas en tu barra lateral de WordPress.
Todo lo que tienes que hacer es ir a Apariencia » Widgets. Luego, haz clic en el botón ‘+’ para agregar un widget en el área de la Barra lateral y busca el widget Entradas populares – MonsterInsights.

Al igual que en el método anterior, el widget incluye configuraciones similares para personalizar la apariencia de tu tema.
Lo que es diferente es que la interfaz es un poco más complicada de usar. A medida que cambias la configuración, no puedes ver cómo se ve realmente el widget. Tendrás que hacer clic en un widget diferente o en otra área para previsualizarlo.
Si estás satisfecho con cómo se ve el widget, simplemente haz clic en ‘Actualizar’ en la esquina superior derecha.

Asegúrate de ir a tu sitio web para comprobar si la barra lateral se ve bien.
Así es como se ve el nuestro:

Si quieres que el widget de Entradas populares solo aparezca en páginas específicas, entonces puedes leer nuestra guía sobre cómo mostrar u ocultar widgets en ciertas páginas de WordPress.
Incrusta el widget de Entradas populares con un shortcode
La última opción es usar un shortcode. Este método se recomienda si las opciones anteriores no funcionan para tu caso de uso específico.
En la pestaña Widget de Entradas populares, desplázate hasta la sección ‘Opciones de incrustación’. Luego, elige ‘Mostrar usando un Shortcode’ y haz clic en el botón ‘Copiar Shortcode’.

Después de eso, simplemente coloca el shortcode donde quieras. Para más información, consulta nuestra guía sobre cómo agregar shortcodes en WordPress.
Método 2: Mostrar las publicaciones populares de WordPress por visitas con código (Más avanzado)
El método de MonsterInsights es la forma más fácil de mostrar tu contenido más popular y mejor valorado por visitas en WordPress. Pero si te sientes cómodo con la codificación, también puedes usar código para mostrar tus entradas de WordPress más populares.
Para este método, recomendamos usar un plugin de fragmentos de código como WPCode, que es lo que usaremos en esta guía.

WPCode hace que sea seguro insertar código personalizado sin interactuar directamente con tus archivos de WordPress. Además, dado que este método requiere el uso de múltiples fragmentos de código, el plugin facilitará mucho la gestión y el seguimiento de todos ellos.
Primero, necesitas instalar WPCode en WordPress. Una versión gratuita de WPCode está disponible, pero usaremos la versión Pro, ya que viene con las funciones que necesitamos para insertar el código en las ubicaciones correctas.
Para una guía de instalación paso a paso, lee nuestro artículo sobre cómo instalar un plugin de WordPress.
Agregar función contadora de vistas de publicaciones de WordPress
Tras la activación del plugin, debes ir a Snippets de código » + Agregar Snippet desde el panel. Luego, pasa el cursor sobre ‘Agregar tu código personalizado (Nuevo Snippet)’ y haz clic en ‘+ Agregar Snippet Personalizado’.

Ahora, estás dentro del editor de snippets de código de WPCode. Antes de insertar cualquier código, procede a agregar un título para el snippet.
Para este primer código, puedes nombrarlo algo como ‘Función contadora de vistas de publicaciones de WordPress’. Esto se debe a que el propósito de este primer código es crear una función para contar las vistas de las publicaciones en WordPress.
A continuación, cambia el Tipo de Código a ‘Snippet de PHP’. Ten en cuenta que cada snippet de código que tengas que agregar de este artículo está en PHP.

Después de eso, puedes copiar y pegar el siguiente código a continuación:
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);
}
}
//Get rid of prefetching to keep the count accurate
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0);
Ahora, simplemente desplázate hacia abajo hasta la sección ‘Inserción’ y selecciona ‘Inserción automática’ para el Método de Inserción y ‘Ejecutar en todas partes’ para la Ubicación. Esto funciona igual que insertar el código en el archivo functions.php de tu tema.
Después de eso, navega a la parte superior derecha de la página y activa el código.
Luego, haz clic en ‘Guardar Snippet’.

En esta etapa, necesitas agregar otro fragmento de código personalizado nuevo. Puedes nombrar a este ‘Función de llamada para rastrear vistas de publicaciones’.
Este código llamará a la función anterior y la activará en tus páginas de publicación individuales.
Una vez que hayas hecho eso, copia y pega el siguiente fragmento:
wpb_set_post_views(get_the_ID());
Lo diferente de este fragmento de código es que elegirás la ubicación ‘Insertar después de la publicación’ porque se supone que se ejecutará en tus páginas de publicación individuales.

Cuando termines, simplemente activa el código y guárdalo.
Insertar gancho de rastreo de vistas de publicaciones de WordPress
Ahora, necesitas agregar un nuevo fragmento de código que verifique si la página actual es una publicación individual. Si es así, llamará a la función del contador de vistas de publicaciones de WordPress para rastrear y actualizar el recuento de vistas de la publicación.
De esta manera, cada vez que un usuario visite la publicación, su recuento de vistas se actualizará.
Llamemos a este fragmento ‘Gancho de rastreo de vistas de publicaciones de WordPress’. Luego, inserta las siguientes líneas de código:
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');
Puedes elegir el método de inserción como ‘Inserción automática’ y la ubicación como ‘Solo frontend’.
Al igual que con los pasos anteriores, simplemente procede a activar el código y guarda el fragmento.

Nota: Si estás utilizando un plugin de caché, es posible que esta técnica no funcione de forma predeterminada. Podrías usar la función de caché de fragmentos que ofrecen algunos plugins de caché como W3 Total Cache para que funcione.
Agregar funciones para recuperar el recuento de vistas de publicaciones y mostrar las publicaciones más populares con recuentos de vistas
Ahora estamos en los pasos finales de esta guía. Necesitas agregar un fragmento de código que recupere y formatee el número de vistas de una publicación de WordPress determinada. Esto será útil más adelante al mostrar la lista de las publicaciones más vistas.
Puedes nombrar este código como ‘Retrieve Post Views Count Function’ y establecer la ubicación en ‘Run Everywhere.’
Aquí tienes el fragmento de código:
function wpb_get_post_views($postID){
$count_key = 'wpb_post_views_count';
$count = get_post_meta($postID, $count_key, true);
if($count==''){
delete_post_meta($postID, $count_key);
add_post_meta($postID, $count_key, '0');
return "0 View";
}
return $count.' Views';
}
De nuevo, asegúrate de activar el código en WPCode y guardarlo después.
Una vez que hayas hecho eso, crea otro fragmento de código nuevamente y nómbralo ‘Display Most Popular Posts with View Counts.’ Este es el código que mostrará tus publicaciones más populares al final de tus publicaciones del blog.
En el cuadro Code Preview, inserta el siguiente fragmento:
// Customize the query parameters as needed
$popularpost = new WP_Query( array(
'posts_per_page' => 3, // Feel free to adjust the number of posts to display
'meta_key' => 'wpb_post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC'
));
?>
<div class="popular-posts">
<h2>See Our Most Popular Posts</h2> <!-- Feel free to customize the title -->
<ul>
<?php while ( $popularpost->have_posts() ) : $popularpost->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
- <?php echo wpb_get_post_views(get_the_ID()); ?>
</li>
<?php endwhile; ?>
</ul>
</div>
<?php wp_reset_postdata();
Como se indica en el código, siéntete libre de ajustar el número de publicaciones a mostrar y personalizar el título de esta sección.
En la sección de Inserción de WPCode, asegúrate de seleccionar 'Insertar después de la publicación' para la Ubicación. Luego, simplemente activa el código y guarda el fragmento.
Todo lo que queda por hacer ahora es visitar una de tus publicaciones de blog y ver si el código funciona. Así es como se ve la sección de las publicaciones más populares por visitas en nuestro blog de WordPress de prueba:

Consejo de experto: Si deseas personalizar aún más el código pero no tienes experiencia en codificación, puedes usar el Generador de Código IA de WPCode para ayudarte. Esta función puede editar tu código existente para que se adapte a tus necesidades exactas.
Para más información, consulta nuestra reseña completa de WPCode.
Tutorial en video
Si prefieres instrucciones visuales, entonces mira la versión en video de este tutorial a continuación:
Esperamos que este tutorial de WordPress te haya ayudado a aprender cómo mostrar las publicaciones populares por visitas. También puedes consultar nuestra selección experta de los mejores plugins de publicaciones relacionadas para WordPress y nuestro artículo sobre qué hace que una página de destino convierta bien.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.


Bigdragon13th
Hola,
¡He estado usando este código durante meses y funciona de maravilla! Eso fue hasta que comencé a usar W3 Total Cache y este código dejó de contar las visitas para mí.
Estoy atascado en dónde necesito poner el mfunc para que el código funcione con la caché. ¿Puedes señalarlo?
Para tu información, puse todo el código en un plugin específico del sitio.
AJ
¡Hola, esto es genial! ¿Cómo mostraría el recuento de visitas fuera del bucle de publicaciones, como en la barra lateral?
leslie
hola, tengo un problema sobre cómo configurarlo para que el usuario que inicia sesión no se incluya en el recuento al ver cualquier página?? ¿cómo hago eso? por favor, necesito ayuda con esto. gracias
Sarah
Hey there, thanks for this. REALLY helpful!! Would you know how to apply a time range to this code? For example to show the most popular posts in the last day, week or month etc? I know there are plugins for this but I would like to do it without one
Dale Knight
¡Genial!
Denis
Hola,
gracias por este buen tutorial. ¡Funciona en mi página!
– ¿cómo puedo excluir robots y arañas que visitan mis publicaciones?
– Quizás pueda establecer un temporizador de 10 segundos. después de eso, el conteo debería aumentar. Así que las personas que solo hacen clic en las publicaciones no se cuentan.
Saludos,
Denis
Sarah
You have no idea how much time you saved me. Thank you, works perfectly!
Clay Hickman
Gracias por el consejo. Lo usaré.
Jenni B
Hola – ¡muchas gracias por esto! Noté la pregunta sobre la solución alternativa de W3TC, pero tengo una pregunta ligeramente diferente: ¿eso todavía se aplica si me estoy conectando a wp_head desde functions.php, y si es así, cómo lo implemento exactamente allí? ¡Gracias!
rafi
¡esto es realmente fácil y muy útil! ¡gracias, hombre!
Kosmos
Hola, gracias por este fragmento.
Tengo un problema, el orderby no funciona. Tengo cinco publicaciones:
– Publicación 1: 85 visitas
– Publicación 2: 35 visitas
– Publicación 3: 165 visitas
– Publicación 4: 1 visita
– Publicación 5: 1 visita
Cuando lo mostré, el orden fue: 1, 2, 4, 5 y 3
¿Tienes alguna idea, por favor?
Raj
Podría ser un problema de tipo entero..
Iftekhar
Siguiendo tu artículo, he estado usando el contador de vistas de publicaciones en mi sitio durante 6 meses. Funcionaba bien, pero recientemente tengo un problema con esto. Si un visitante ve una publicación, el contador aumenta en 1, pero el problema es que el contador aumenta en todas las demás publicaciones. Tengo instalado w3 total cache y estoy usando mfunc según tu artículo. Por favor, ayúdame si tienes alguna idea sobre este problema... Gracias.
Soporte de WPBeginner
Iftekhar, ¿puedes verificar qué sucede cuando desactivas w3 total cache?
Administrador
Iftekhar
The problem seems to w3. Post view count is OK since deactivated. But I want to use both of them
ivan
Hola,
Quiero cambiar de usar el plugin porque no soporta el idioma polylang (el autor no me responde y realmente no sé si es posible filtrar funciones para el plugin).
Dos preguntas:
– Examiné un poco el código y no estoy seguro si este código empieza a contar las publicaciones desde que se implementa. ¿O de alguna manera recupera dónde están los recuentos de publicaciones actualmente?
– El código actual en este sitio web utiliza la función get_posts() por lo que crea un array de argumentos en lugar de usar WP_Query(). ¿Es lo mismo? Supongo que no. Y si no lo es, ¿es correcto el código a continuación para obtener el array? Intenté implementarlo pero no pareció funcionar.
$args = array( ‘meta_key’ => ‘wpb_post_views_count’, ‘orderby’ => ‘meta_value_num’, ‘order’ => ‘DESC’,’numberposts’ => 6, ‘post_status’=>”publish”,’post_type’=>”post”,’lang’ => ‘en’);
¡Gracias!
Tomas
Este enfoque es muy básico. Si quieres contar clics del mismo usuario (misma IP) solo cada 5 minutos o 10 minutos, etc., necesitas tener una tabla separada para eso y antes de agregar una nueva fila en la base de datos, necesitas verificar la IP y la hora. Si hay un registro guardado hace 3 minutos, el clic no se agrega. De lo contrario, se agrega. Además, este enfoque te permite crear una lista personalizada de los artículos más vistos en 7 días, un mes, todo el tiempo, etc. O incluso por categoría, usuario, etc. (si almacenas los valores apropiados en las columnas de la tabla correspondientes).
bosón
Estoy intentando... cuando dices "pon el código wpb_set_post_views(get_the_ID()); dentro del bucle de publicación única", ¿significa que debo usar este código dentro de single.php del tema en cualquier lugar?
Gracias por tu ayuda.
Soporte de WPBeginner
No, significa pegar el código dentro del bucle entre
1-click Use in WordPress
y
<?php endwhile; else: ?> <p><?php _e('Sorry, no posts matched your criteria.'); ?></p> <?php endif; ?>1-click Use in WordPress
Administrador
Cory Dobson
¿Hay alguna forma de restringir cuándo se recopilan las vistas de las publicaciones? Por ejemplo, estoy buscando mostrar las publicaciones con más vistas en las últimas 24 horas, ¿cómo harías algo así usando este código?
¡Gran publicación, por cierto, muy útil!
igor
¿Cómo puedo paginar los resultados?
10 resultados por página, digamos
Mark
¿Qué pasa si tu single-xxxx.php no usa el bucle sino campos personalizados? ¿Cómo puedo usar este código si no uso el bucle?
Soporte de WPBeginner
single-xyz.php significa que ese archivo se usa para una sola publicación con el slug xyz. Aún puedes agregar el último fragmento de código en tu plantilla justo donde creas que la plantilla termina de mostrar el contenido.
Administrador
quocminh86
política de comentarios,
Dusan
Estoy confundido sobre dónde poner el código mfunc.
Soporte de WPBeginner
Si estás usando W3 Total Cache, puedes agregar este código justo antes de wpb_get_post_views(get_the_ID()); en tus plantillas donde quieras mostrar las publicaciones populares. El propósito de este código es permitir que W3 Total Cache muestre dinámicamente las publicaciones populares y no las almacene en caché.
Administrador
Waqas Munir
Querido, estoy realmente confundido al respecto… Estoy intentando agregar esto a mi blog, pero no tengo experiencia en todo esto.
Soporte de WPBeginner
Entonces, ¿quizás deberías intentar usar el plugin WordPress Popular Posts en su lugar?
Administrador
Aleksander
¿Qué hay de usar la función update_post_meta en lugar de delete_post_meta y add_post_meta?
George
¡Gracias por esta publicación! Realmente muy buena.
Tengo dos preguntas:
1. ¿Hay alguna posibilidad de contar solo una visita por cada dirección IP? ¿Cómo?.
2. ¿Puedo mostrar las publicaciones más populares por un período de tiempo específico? Por ejemplo, las publicaciones más visitadas este mes, o las publicaciones más populares del 1 de mayo al 1 de junio...
¡Gracias!
Igor Gumush
thanks , working great
shishir umrao
Hola,
Este código está funcionando pero cada vez que recargo la página, se le suma "2" al contador total de páginas. Por ejemplo, si el contador de páginas es 14 y después de recargar el contador total de páginas es 16... ¿alguien puede adivinar cuál es el problema?
Shishir Umrao
Personal editorial
Está sucediendo porque la función se está cargando dos veces de alguna manera.
Administrador
shishir umrao
Sí. Descubrí que este fragmento de código era responsable de esto.
Nick
Publicación muy útil, logré que mis páginas de etiquetas ordenaran las publicaciones por un valor de campo personalizado similar al recuento de vistas de publicaciones, sin embargo, tengo paginación en mis páginas de etiquetas y sigue mostrando las mismas publicaciones principales en todas las páginas, incluso después de haber eliminado este código:
‘posts_per_page’ => 4,
¿Cómo arreglo la paginación para que muestre otras publicaciones en las páginas de etiquetas subsiguientes?
Chris
¿Cómo lograste que tus páginas de etiquetas ordenaran las publicaciones por el valor de un campo personalizado, similar al recuento de vistas de publicaciones?
Parece que el plugin de publicaciones populares solo toma categorías como parámetro.
Mike
Gracias por las instrucciones tan detalladas. ¿Usar esto para mostrar las publicaciones más populares causará mucha carga adicional en el servidor si un sitio tiene tráfico significativo? Algunos de los plugins de WP para este tipo de cosas tienden a tener este problema.
Personal editorial
¿Cuánto es tráfico significativo? Lo estamos usando en WPBeginner.
Administrador
Ryan Karpeles
¡Uf, genial! Simplemente genial. ¡¡¡GRACIAS por esto!!! ¡Funciona perfectamente!
Lowell
Todavía estoy aprendiendo estas cosas, así que perdona mi ignorancia.
¿Cómo permites que el usuario elija entre consultas como lo hacen en CodeCanyon cuando te permiten ordenar por precio, ventas, fecha, etc.?
Muchas gracias.
saeed
¿Cómo puedo cambiar el número de publicaciones populares que se muestran?
Personal editorial
Cambia 'posts_per_page' al número que desees.
Administrador
Adam Davies
Muchas gracias por esto. Me salvó la vida y es un gran consejo que definitivamente usaré más a menudo.
Md. Ariful Islam
¡Oye, de verdad, muchísimas gracias por estos útiles consejos! Estoy muy agradecido contigo.
Ar Ya
¡Hola, eso es genial!
Pero ‘orderby’ => ‘wpb_post_views_count meta_value_num’ no funciona.
Por favor, usa: ‘orderby’ => ‘meta_value_num’
gracias
nick
Gracias, me funciona, solo con una excepción importante: las publicaciones populares no son enlaces, solo sus títulos. ¿Cómo puedo solucionar esto, por favor?
Preston
Agregué este código de la manera descrita en el artículo y al activarlo, vi esto...
El plugin generó 2 caracteres de salida inesperada durante la activación. Si notas mensajes de “headers already sent”, problemas con feeds de sindicación u otros problemas, intenta desactivar o eliminar este plugin.
Preston
Arreglado. Hice dos cosas:
1. Cambié la estructura de mi permalink a una estructura personalizada /%category%/%postname%/
2. Revisar todas mis páginas en busca de espacios adicionales.
Una de ellas funcionó.
…quién lo diría
Preston
Jose Vega
Hola, creo que es necesario agregar – wp_reset_query(); – al final de la consulta para destruir la consulta anterior utilizada en un bucle personalizado.
Espero que ayude a alguien.
Jon Edwards
Tengo esto funcionando al 95% usando una consulta WP personalizada para mostrar las publicaciones populares de cada categoría.
Lo único que no me funciona es el orden: el mío no se muestra en orden descendente de vistas.
Cameron
¡Gracias por la publicación! Realmente ayudó.
No estoy seguro si alguien más se encontró con este problema, pero cuando configuras los argumentos para WP_Query, tienes orderby => ‘wpb_post_views_count’. Esto fue un problema para mí porque no estaba seguro de cómo estaba ordenando mis publicaciones. En el códice dice que si usas números, solo se ordenarán por el primer dígito. Para solucionarlo, puedes simplemente reemplazar ‘wpb_post_views_count’ con ‘meta_value_num’. Esto básicamente le dirá a la consulta que acceda al valor meta de la publicación y probablemente lo convierta a un entero antes de ordenar. Espero que esto ayude a cualquiera que tenga los mismos problemas.
En general, ¡funciona muy bien! Tengo las 4 publicaciones más populares en un slider en la página de inicio. ¡Gracias de nuevo!
Personal editorial
Buena sugerencia. Actualicé el artículo con esto.
Administrador
efishinsea
Hola. La muestra de código de arriba *no * está actualizada.
En lugar de esto:
‘orderby’ => ‘wpb_post_views_count meta_value_num’
deberías tener esto como se sugirió:
‘orderby’ => ‘meta_value_num’
si quieres ordenar de "Más a Menos"
Minh
¿Por qué solo muestra publicaciones que tienen un recuento de vistas < 100?
Personal editorial
Si estás usando un plugin de caché, entonces no siempre se actualiza.
Administrador
George
Gracias por el tutorial. ¿Cómo excluyo las publicaciones actuales de que se muestren?
Kris
Esto se ve genial en mi página de inicio, pero parece que quiere mostrarse en mi single.php o en cualquier otro lugar de mi sitio. Intenté crear un sidebar-single.php e insertar el código, pero todavía no funciona. ¿Alguna idea de por qué no funcionaría en otras áreas de mi tema?
Kris
Ya lo hice funcionar. Gracias por esto.
Anderson
No funciona, muestra publicaciones aleatorias :S y uso post_type = > ‘post-type-name’
Mody
Esto suele suceder cuando la clave meta wpb_post_views_count no está disponible para las publicaciones; asegúrate de agregar la función que rastrea las vistas dentro de wp mientras el bucle, de lo contrario, seguirá mostrando publicaciones aleatorias.
– Mody
Bent
Hola,
Estoy usando tu código para rastrear las vistas de las publicaciones en el tema de WordPress.
function wpb_get_post_views($postID){ $count_key = ‘wpb_post_views_count’; $count = get_post_meta($postID, $count_key, true); if($count==”){ // Si no hay conteo, inicializarlo a 0 y devolver "0 Vista" delete_post_meta($postID, $count_key); add_post_meta($postID, $count_key, ‘0’); return “0 Vista”; } // Devolver el conteo con la palabra "Vistas" return $count.’ Vistas’; }
El problema es que cuando uso W3 Total Cache, el rastreo de vistas no funciona correctamente.
¿Hay alguna forma en las Opciones de W3 Total Cache de ignorar solo esta función, pero al mismo tiempo quiero que el código funcione con W3 Total Cache?
¡Gracias!
Personal editorial
Lee el artículo de nuevo. Ya cubrimos esto de "Caché Fragmentada".
Vaibhav
Hola
Seguí tus tutoriales e hice exactamente lo que dijiste.
También agregué tu fragmento
php query_posts(‘meta_key=post_views_count&orderby=meta_value_num&order=DESC’);
en index.php
Tengo un pequeño error,
Estoy usando scroll infinito
cuando pongo este fragmento en index.php
el scroll infinito en lugar de cargar el siguiente conjunto de publicaciones
carga el mismo conjunto de publicaciones
Para una mejor comprensión, puedes verlo en vivo aquí
blog.newgags,com
Henry
Por alguna razón, mis vistas de publicaciones se incrementan en 2 en cada actualización de página. ¿Qué podría estar sucediendo?
Henry
Me disculpo. Había agregado el rastreador tanto al encabezado de WP como al cuerpo de la publicación individual. Muy estúpido de mi parte :}
Buen tutorial, muy fácil de seguir.
Brandon
Primero que nada, gracias por esta publicación. Segundo, he estado usando este script durante unos días y, por alguna razón, comenzó bien y ahora no muestra las publicaciones más vistas. No veo ninguna lógica en qué publicaciones se muestran ahora. La última vez que revisé, la publicación que se muestra en la parte superior tiene 8 visitas. Sé que hay publicaciones con más de 25 visitas registradas. Me gustaría resolver esto. ¿Podrías señalarme en la dirección correcta? Seguí esta publicación palabra por palabra. Las visitas a las publicaciones se registran correctamente.
Personal editorial
No estoy seguro de qué podría estar saliendo mal. Se supone que WP_Query lista primero las publicaciones con los recuentos más altos.
Administrador
Einar Ólafsson
Hola. Esto funciona bien hasta que el recuento de visitas supera los 999. Todas las publicaciones con más de 999 visitas no se muestran, la consulta nunca las publica. La última publicación es la que tiene exactamente 999 y el resto están por debajo. Tengo más de 100 publicaciones con más de mil y no están incluidas.
Personal editorial
Interesante. Tenemos publicaciones con más de 10 mil visitas y parece que funciona bien.
Administrador
Martinbeasnunez
¡Chicos, son geniales!
Pregunta rápida:
¿Si he agregado un tipo de publicación personalizado en tu código?
(publicaciones populares de un tipo de publicación personalizado específico)
Saludos (:
Personal editorial
Esto también debería funcionar con CPTs.
Administrador
Artem Russakovskii
Este es un buen tutorial básico, pero ten cuidado: no funcionará si utilizas estrategias de caché que omiten PHP (como wp-supercache, W3TC, nginx/varnish, etc.). La única forma de contarlos sería a través de Javascript o análisis de registros.
Personal editorial
Hola Artem, gracias por pasarte. De hecho, usando W3 Total Cache, puedes usar el almacenamiento en caché de fragmentos y funciona bien. Voy a actualizar el artículo para aquellos que usan el plugin de caché.
Administrador
Artem Russakovskii
Interesante. Sin embargo, ejecuto nginx delante de W3TC, y este se encarga de gran parte de su propio caché, por lo que siempre es más seguro/confiable usar un enfoque AJAX. Buena información sobre el caché de fragmentos, no tenía idea de que W3TC lo tuviera.
Ramon Fincken
¿Por qué usar
//Para mantener el conteo preciso, eliminemos la precarga
remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0); ?
¿si puedes usar el bucle principal o el pie de página?
Personal editorial
Algunos navegadores pre-cargan los enlaces rel con el valor siguiente. Así que técnicamente, cuando un usuario ve una publicación, puede actuar como si hubiera visto ambas publicaciones. Esto causará un conteo impreciso. Si te gustan las vistas infladas, entonces no lo quites.
Administrador
Nino Blasco
¡Gran artículo! Explicación útil y fácil de entender.
¡Gracias!
Connor Crosby
¡Yay! ¡Un tutorial que no requiere un plugin!
Personal editorial
Sí, intentamos equilibrar las cosas para nuestra audiencia. Esto fue solicitado por los usuarios y lo estábamos usando en nuestro propio sitio.
Administrador
Zach
Por favor, dejen de decir cosas así. Los plugins no son malos, son artículos como este los que los hacen ver mal. Han salido suficientes artículos en las últimas semanas para explicar esto completamente; se está volviendo un poco vergonzoso.
Personal editorial
¿Cómo sugerirían titular futuras publicaciones? ¿Prefijo DIY? Estas son diferentes a simplemente usar un plugin prefabricado. Además, si leyeron el artículo, en ninguna parte de nuestro artículo decimos "los plugins son malos". Dejamos claro que la única razón por la que codificamos esto fue para obtener más personalización. Depende del usuario tomar cualquiera de las dos posturas. Algunos pueden pensar que los plugins son malos... mientras que otros, como usted, pueden pensar que estamos diciendo que los plugins son malos...
Zach
No creo que se necesite ningún tipo de prefijo. Es una de las cosas geniales/aterradoras de WordPress. PODRÍAN poner este código en su tema, pero luego surge el argumento sobre la necesidad de, 1) Perder esas personalizaciones cuando cambian de tema, o 2) Tener el conocimiento para transferirlas adecuadamente a otro tema.
Muchos de los usuarios aquí son principiantes (de ahí el propósito de este sitio), por lo que muchos simplemente copiarán y pegarán lo que les den. WP Beginner es obviamente un recurso fantástico (razón por la que los sigo en Twitter), pero tienen la responsabilidad de no transmitir una noción falsa sobre cómo funcionan los plugins/temas.
Correcto, no dicen directamente: "¡Los plugins son malos, pongan esto en su tema en su lugar!", pero el comentarista original del hilo al que respondí dijo: "¡Yay! ¡Un tutorial que no requiere un plugin!" - así que, aunque ustedes no lo dijeron, así fue como se tomó.
Sugeriría hacer lo que Pippin hace con sus plugins: él tiene un plugin de inicio simple que usa para todos sus tutoriales. ¿Por qué no crear una descarga de "Plugin de Inicio" en blanco, solo con lo básico, para que otros puedan descargarlo y poner sus personalizaciones allí en su lugar? Referéncialo en cada artículo que hagas y eso elimina parte de la confusión. Gracias.
Personal editorial
Hemos estado siguiendo el consejo de Otto sobre plugins específicos del sitio por bastante tiempo. Probablemente sea similar a lo que hace Pippin. Si lees este artículo, el plugin específico del sitio está enlazado. Está en la mayoría de los otros artículos también. Ese artículo muestra a los usuarios la importancia de los plugins específicos del sitio y aconseja a los usuarios no poner todo en el archivo functions.php. Al final de ese artículo, el "plugin de inicio" de muestra está ahí para que cualquiera comience.
codekipple
Siendo justos, este tutorial me ayudó. Quería una solución simple para las publicaciones populares después de probar algunos de los plugins y no poder controlar completamente el marcado. Este tutorial me ayudó a implementar rápidamente algunas funcionalidades de publicaciones populares en mi propio plugin.
Así que estoy de acuerdo en que usar plugins prefabricados no es algo malo, pero a veces tutoriales como este son útiles para tomar el control y crear un plugin que funcione de la manera que lo necesitas en lugar de luchar contra un plugin ya creado.
Pippin
Como dijo Zach, por favor deja de usar "sin un plugin". Claro, es genial ver cómo codificar esto tú mismo, pero literalmente no hay diferencia entre este código y el código de un plugin. Podrías colocar este código en un plugin y funcionaría idénticamente a colocarlo en tu tema.
Ruben
Si dices que no hay diferencia, no tienes idea de lo que estás hablando. Digamos que estás trabajando en un sitio y no tienes acceso al directorio de plugins, hacer una solución que funcione "sin usar un plugin" sería una alternativa viable.
En cuanto al título, semánticamente debería reflejar el contenido de la publicación y podría ser "Cómo mostrar las publicaciones populares por vistas en WordPress con o sin un plugin".
Sin embargo, teniendo en cuenta el SEO, digamos que le gustaría que esta publicación llegara a una audiencia específica, por ejemplo, personas que no quieren o no pueden usar un plugin, el título probablemente sería mejor tal como está.
Gautam Doddamani
Estoy usando un tema hijo de Genesis... ¿puedes decirme qué funciones y códigos debo usar? Lo siento, soy novato en Genesis...
Personal editorial
Para los usuarios de temas hijos, la solución wp_head funcionaría para rastrear las vistas de las publicaciones. No estoy seguro de qué más querías decir.
Administrador
Gautam Doddamani
¿es verdad? como dijo Artem, ¿este código se vuelve inoperante cuando usamos un plugin de caché? Por ejemplo, actualmente uso W3 total cache y quiero usar este método para crear mi widget personalizado de publicaciones populares por visitas... leí este tipo de publicación en wpsnipp.com y los usuarios sugirieron que no funciona cuando habilitamos plugins de caché... responde pronto...
Personal editorial
Lee la respuesta del comentario a Artem. Puedes usar el caché de fragmentos para que funcione perfectamente.