我希望有人能帮忙。我目前有一个页面,可以按评论数对所有帖子进行排序,但我想更改循环,以按视图数对帖子进行排序。我已经安装了“wp postviews”。1.50的插件,并让它显示每个帖子上的视图数,所以我知道它的这一面正在工作,现在我只需要将循环代码更改为大多数视图的顺序,这可能吗?
以下是调用视图数的方式:
<?php $views = get_post_meta($post->ID, \'views\', true); ?><?php echo $views; ?>
这是我需要更改的循环:
<?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\',
\'order\' => \'DESC\',
); ?>
<?php query_posts($args); ?>
<?php if (have_posts()) : while (have_posts()) : the_post() ;?>
<div <?php post_class() ?> id="post-<?php the_ID(); ?>">
提前感谢您的帮助。
我正在使用WordPress 3.0.4。
最合适的回答,由SO网友:PG73 整理而成
只是想更新一下。有人好心地告诉我如何更新我上面发布的代码。结果很简单(如果你知道自己在做什么的话!)。因此,我在下面为任何想做类似事情的人发布了它。
<?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(); ?>">