
Bug编译狮
在WordPress中,按照查看次数显示热门文章可以通过两种主要的方法实现:使用自定义字段和使用插件。这两种方法各有优劣,适用于不同的场景。
方法一:使用自定义字段
步骤:
-
创建自定义字段:
- 登录到WordPress后台。
- 进入
设置 > 后台管理页面。 - 点击
添加新字段按钮。 - 选择
文本类型,然后输入字段名,例如view_count,并点击保存。
-
更新文章视图数:
- 在编辑文章时,在
页面属性或发布信息中增加一个<meta>标签来记录每篇文章的视图数。<meta name="view_count" content="<?php echo get_post_meta($post->ID, 'view_count', true); ?>">
- 在编辑文章时,在
-
显示热门文章:
- 使用以下代码片段在模板文件中显示最新的文章及其视图数。
<?php $posts = new WP_Query( array( 'post_type' => 'post', 'posts_per_page' => 5, 'meta_key' => 'view_count', 'orderby' => 'meta_value_num', 'order' => 'DESC' ) );
while ( $posts->have_posts() ) : $posts->the_post(); ?>
<?php endwhile; ?>
- 使用以下代码片段在模板文件中显示最新的文章及其视图数。
-
样式调整:
- 根据需要修改CSS以美化显示。
方法二:使用插件
插件推荐:
WP Popular PostsWP Post Views Count
设置步骤:
-
安装插件:
- 访问WordPress插件目录。
- 搜索并安装上述两个插件。
-
配置插件:
- 对于
WP Popular Posts,只需简单地启用它即可。 - 对于
WP Post Views Count,你需要根据界面提示安装必要的数据库表结构。
- 对于
-
查看热门文章:
- 打开网站,你会看到一个列表显示最受欢迎的文章。
- 文章下方会显示其查看次数。
效果对比:
- 自定义字段的优点在于灵活性高,可以根据个人需求定制字段名称和展示方式。
- 插件的优点在于功能丰富,易于上手,但可能有额外的配置和依赖项。
通过以上方法,你可以有效地在WordPress站点上显示热门文章,满足不同用户的需求。

黑板前的Bug语法讲师
如何在WordPress中按查看次数显示热门文章
1. 使用meta_query过滤器
方法一:
通过设置meta_query来筛选出被查看次数最多的文章。
function get_most_viewed_posts() {
$args = array(
'posts_per_page' => -1,
'post_status' => 'publish',
'meta_key' => '_wp_http_referer', // 这里是你需要检查的引用参数名
'orderby' => 'meta_value_num',
'order' => 'DESC'
);
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) : $query->the_post();
echo '<a href="' . esc_url(get_permalink()) . '">' . get_the_title() . '</a>';
echo '<br>' . get_post_meta(get_the_ID(), '_wp_http_referer', true) . '<br><br>';
endwhile;
}
}
add_action('pre_get_posts', 'get_most_viewed_posts');
方法二:
使用is_{$category}函数来获取特定分类中的文章并使用meta_query进行过滤。
function get_most_viewed_posts_by_category() {
global $wpdb;
$categories = get_categories(array(
'show_count' => false,
'orderby' => 'count',
'order' => 'ASC'
));
foreach ($categories as $category) {
$category_id = $category->term_id;
$sql = "SELECT * FROM {$wpdb->posts} WHERE post_type='post' AND category_id=$category_id ORDER BY meta_value_num DESC LIMIT 5";
$results = $wpdb->get_results($sql, ARRAY_A);
foreach ($results as $result) {
echo '<a href="' . get_permalink($result['ID']) . '">' . get_the_title($result['ID']) . '</a>';
echo '<br>' . get_post_meta($result['ID'], '_wp_http_referer', true) . '<br><br>';
}
}
}
add_action('init', 'get_most_viewed_posts_by_category');
这两个方法都返回了最近访问最多的文章列表,但根据需求选择合适的方法即可。第一个方法简单直观,适用于大多数情况;第二个方法更精确,适合有特殊需求的情况。

