5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2395|回复: 1

[RestAPI] wordpress post view counter通过调用rest api增加

[复制链接]

670

主题

785

帖子

8278

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8278
发表于 2022-7-16 22:18:45 | 显示全部楼层 |阅读模式
  1. add_action( 'rest_api_init', function () {
  2.   register_rest_route( 'wp/v2', '/views/(?P<id>\d+)', array(
  3.     'methods' => 'GET',
  4.     'callback' => 'post_view_counter_function',
  5.   ));
  6. });
  7. function post_view_counter_function( WP_REST_Request $request ) {
  8.   $post_id = $request['id'];
  9.     if ( FALSE === get_post_status( $post_id ) ) {
  10.          return new WP_Error( 'error_no_post', 'Not a post id', array( 'status' => 404 ) );
  11.     } else {
  12.         $current_views = (int)get_post_meta( $post_id, 'views', true );
  13.         $views = $current_views + 1;
  14.          update_post_meta( $post_id, 'views', $views );
  15.         return intval($views);
  16.    }
  17. }
复制代码



已测试,可用xxx/views/文章id 号就可以增加浏览量
但这种增加方式 如果结合了cache类插件能否还能起到作用
或者在get这个api的时候,加一个random time结尾

回复

使用道具 举报

670

主题

785

帖子

8278

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8278
 楼主| 发表于 2022-7-16 23:04:15 | 显示全部楼层
上边的'views' 要看你实际的字段值,WP的插件很多,有的用的不是这个值,你就需要视情况处理了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-6-24 12:12 , Processed in 0.062500 second(s), 29 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表