Cómo Cambiar el Loop para Ordenar Entradas por Vistas (usando el plugin wp-postviews)
Espero que alguien sea lo suficientemente amable para ayudar. Actualmente tengo una página que ordena todas las entradas por número de comentarios, pero quiero cambiar el loop para ordenar las entradas por número de vistas. He instalado el plugin 'wp-postviews.1.50' y he logrado que muestre el número de vistas en cada entrada, así que sé que esa parte está funcionando, ahora solo necesito cambiar el código del loop para ordenar por más vistas, ¿es esto posible?
Así es como se muestra el número de vistas:
<?php $views = get_post_meta($post->ID, 'views', true); ?><?php echo $views; ?>
Y aquí está el loop que necesito cambiar:
<?php $posts_per_page = get_query_var('posts_per_page'); ?>
<?php $paged = intval(get_query_var('paged')); ?>
<?php $paged = ($paged) ? $paged : 1; ?>
<?php $args = array(
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'more' => $more = 0,
'orderby' => 'comment_count', // ordenar por número de comentarios
'order' => 'DESC',
); ?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ;?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
Gracias de antemano por cualquier ayuda con esto.
Estoy usando WordPress 3.0.4.
Solo quería dar una actualización. Alguien tuvo la amabilidad de mostrarme cómo actualizar el código que publiqué anteriormente. Resultó ser bastante simple (¡si sabes lo que estás haciendo!). Así que lo he publicado a continuación para cualquiera que quiera hacer algo similar.
<?php $posts_per_page = get_query_var('posts_per_page'); ?>
<?php $paged = intval(get_query_var('paged')); ?>
<?php $paged = ($paged) ? $paged : 1; ?>
<?php $args = array(
'posts_per_page' => $posts_per_page,
'paged' => $paged,
'more' => $more = 0,
'meta_key' => 'views',
'orderby' => 'meta_value_num',
'order' => 'DESC',
); ?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ;?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">

De la documentación del plugin
Para mostrar las publicaciones más vistas usa:
<?php if
(function_exists('get_most_viewed')):
?>
<ul>
<?php get_most_viewed(); ?>
</ul> <?php endif; ?>
El primer valor que pasas es lo que quieres obtener, 'post', 'page' o 'both'. El segundo valor que pasas es el número máximo de publicaciones que deseas obtener.
Por defecto: get_most_viewed('both', 10);

Gracias por responder. Puedo ver cómo obtener una lista de las publicaciones, pero lo que me cuesta es cómo modificar el ciclo que he publicado arriba para obtener las publicaciones ordenadas por las más vistas.

Tendrás que agregar un ordenamiento personalizado al parámetro order_by. Échale un vistazo a esto: http://www.gab.ro/post-sorting-reloaded/ que es un plugin que 'envuelve el filtro posts_orderby' para obtener algunas ideas. Sin embargo, parece que posts_orderby ha quedado obsoleto - así que deberías tener cuidado con eso.
