提交 10b6b781 编写于 作者: ijianbo's avatar ijianbo

1、修复直播列表更新 2、支持 rest api 缓存插件

上级 5edddd51
......@@ -206,6 +206,12 @@ class RAM_REST_Comments_Controller extends WP_REST_Controller{
$message='留言已提交,需管理员审核方可显示。';
}
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->delete_cache('postcomments',$post);
}
$result["status"]="200";
$result["level"]=$userLevel;
......@@ -221,6 +227,19 @@ class RAM_REST_Comments_Controller extends WP_REST_Controller{
function get_comments($request)
{
$cachedata='';
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->get_cache();
if(!empty($cachedata))
{
$response = rest_ensure_response( $cachedata );
return $response;
}
}
global $wpdb;
$postid =isset($request['postid'])?(int)$request['postid']:0;
$limit= isset($request['limit'])?(int)$request['limit']:0;
......@@ -255,7 +274,11 @@ class RAM_REST_Comments_Controller extends WP_REST_Controller{
$result["status"]="200";
$result["data"]=$commentslist;
if($cachedata =='' && function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->set_cache($result,'postcomments',$postid );
}
$response = rest_ensure_response( $result);
return $response;
......
......@@ -381,6 +381,19 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
function getTopPageviewsPostsThisYear($request)
{
$cachedata='';
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->get_cache();
if(!empty($cachedata))
{
$response = rest_ensure_response( $cachedata );
return $response;
}
}
$limit=10;
global $wpdb, $post, $tableposts, $tablecomments, $time_difference, $post;
date_default_timezone_set('Asia/Shanghai');
......@@ -424,11 +437,28 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
}
if($cachedata =='' && function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->set_cache($posts,'pageviewsthisyear',0);
}
$response = rest_ensure_response($posts);
return $response;
}
function getTopLikePostsThisYear($request)
{
$cachedata='';
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->get_cache();
if(!empty($cachedata))
{
$response = rest_ensure_response( $cachedata );
return $response;
}
}
global $wpdb, $post, $tableposts, $tablecomments, $time_difference, $post;
$limit=10;
date_default_timezone_set('Asia/Shanghai');
......@@ -472,6 +502,11 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
}
if($cachedata =='' && function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->set_cache($posts,'likethisyear',0);
}
$response = rest_ensure_response($posts);
return $response;
......@@ -525,6 +560,20 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
function getTopHotPostsThisYear($request)
{
$cachedata='';
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->get_cache();
if(!empty($cachedata))
{
$response = rest_ensure_response( $cachedata );
return $response;
}
}
global $wpdb, $post, $tableposts, $tablecomments, $time_difference, $post;
date_default_timezone_set('Asia/Shanghai');
$limit = 10;
......@@ -567,6 +616,10 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
$_data['post_all_images']=$images['post_all_images'];
$posts[] = $_data;
}
if($cachedata =='' && function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->set_cache($posts,'hotpostthisyear',0);
}
$response = rest_ensure_response($posts);
return $response;
......@@ -666,6 +719,12 @@ class RAM_REST_Posts_Controller extends WP_REST_Controller{
if(add_post_meta($postid, $openid,'like', true))
{
if(function_exists('MRAC'))
{
$cachedata= MRAC()->cacheManager->delete_cache('post',$postid);
}
$result["code"]="success";
$result["message"]= "点赞成功 ";
$result["status"]="200";
......
此差异已折叠。
......@@ -3,14 +3,18 @@
if ( ! defined( 'ABSPATH' ) ) exit;
function custom_post_fields( $data, $post, $request) {
if(strpos( $_SERVER['REQUEST_URI'], 'watch-life-net/v1/posts') !== false)
{
return $data;
}
global $wpdb;
$_data = $data->data;
$post_id =$post->ID;
//去除 _links
// foreach($data->get_links() as $_linkKey => $_linkVal) {
// $data->remove_link($_linkKey);
// }
//$content =get_the_content();
$content=$_data['content']['rendered'];
......
......@@ -44,6 +44,7 @@ class RAM_API extends WP_REST_Controller{
include_once( 'api/ram-rest-payment-controller.php' );
include_once( 'api/ram-rest-categories-controller.php' );
include_once( 'api/ram-rest-live-controller.php' );
include_once( 'api/ram-wp-rest-posts-controller.php' );
......@@ -61,7 +62,9 @@ class RAM_API extends WP_REST_Controller{
'RAM_REST_Options_Controller',
'RAW_REST_Payment_Controller',
'RAM_REST_Categories_Controller',
'RAM_REST_Live_Controller'
'RAM_WP_REST_Posts_Controller',
'RAM_REST_Live_Controller',
);
......
......@@ -684,4 +684,212 @@ function getPosts($ids)
}
return $posts;
}
function custom_minapper_post_fields( $_data, $post, $request) {
global $wpdb;
$post_id =$post->ID;
//去除 _links
// foreach($_data->get_links() as $_linkKey => $_linkVal) {
// $_data->remove_link($_linkKey);
// }
//$content =get_the_content();
$content=$_data['content']['rendered'];
$content_protected=$_data['content']['protected'];
$raw=empty($_data['content']['raw'])?'':$_data['content']['raw'];
$siteurl = get_option('siteurl');
$upload_dir = wp_upload_dir();
$content = str_replace( 'http:'.strstr($siteurl, '//'), 'https:'.strstr($siteurl, '//'), $content);
$content = str_replace( 'http:'.strstr($upload_dir['baseurl'], '//'), 'https:'.strstr($upload_dir['baseurl'], '//'), $content);
$images =getPostImages($content, $post_id);
$_data['post_thumbnail_image']=$images['post_thumbnail_image'];
$_data['content_first_image']=$images['content_first_image'];
$_data['post_medium_image_300']=$images['post_medium_image_300'];
$_data['post_thumbnail_image_624']=$images['post_thumbnail_image_624'];
$_data['post_frist_image']=$images['post_frist_image'];
$_data['post_medium_image']=$images['post_medium_image'];
$_data['post_large_image']=$images['post_large_image'];
$_data['post_full_image']=$images['post_full_image'];
$_data['post_all_images']=$images['post_all_images'];
//获取广告参数
$videoAdId=empty(get_option('wf_video_ad_id'))?'':get_option('wf_video_ad_id');
$_data['videoAdId']=$videoAdId;
$listAdId=empty(get_option('wf_list_ad_id'))?'':get_option('wf_list_ad_id');
$listAd=empty(get_option('wf_list_ad'))?'0':"1";
$listAdEvery=empty(get_option('wf_list_ad_every'))?5:(int)get_option('wf_list_ad_every');
$_data['listAd']=$listAd;
$_data['listAdId']=$listAdId;
$_data['listAdEvery']=$listAdEvery;
$comments_count = wp_count_comments($post_id);
$_data['total_comments']=$comments_count->approved;
$category =get_the_category($post_id);
if(!empty($category))
{
$_data['category_name'] =$category[0]->cat_name;
}
$post_date =$post->post_date;
//$_data['date'] =time_tran($post_date);
$_data['post_date'] =time_tran($post_date);
$sql =$wpdb->prepare("SELECT COUNT(1) FROM ".$wpdb->postmeta." where meta_value='like' and post_id=%d",$post_id);
$like_count = $wpdb->get_var($sql);
$_data['like_count']= $like_count;
$post_views = (int)get_post_meta($post_id, 'wl_pageviews', true);
$params = $request->get_params();
if ( isset( $params['id'] ) ) {
$praiseWord=get_option('wf_praise_word');
$praiseWord=empty($praiseWord)?'鼓励':$praiseWord;
$_data['praiseWord']=$praiseWord;
//获取广告参数
$detailAdId=empty(get_option('wf_detail_ad_id'))?'':get_option('wf_detail_ad_id');
$detailAd=empty(get_option('wf_detail_ad'))?'0':"1";
$rewardedVideoAdId=empty(get_option('wf_excitation_ad_id'))?'':get_option('wf_excitation_ad_id');
$excitationAd = empty(get_post_meta($post_id, '_excitation', true))?"0":get_post_meta($post_id, '_excitation', true);
$_data['excitationAd']=$excitationAd;
$_data['rewardedVideoAdId']=$rewardedVideoAdId;
$_data['detailAdId']=$detailAdId;
$_data['detailAd']=$detailAd;
$enterpriseMinapp=get_option('wf_enterprise_minapp');
$enterpriseMinapp=empty($enterpriseMinapp)?'0':$enterpriseMinapp;
$_data['enterpriseMinapp']=$enterpriseMinapp;
$vcontent =get_post_qq_video($content);//解析腾讯视频
if(!empty($vcontent))
{
$content=$vcontent;
}
//解析音频
$audios= get_post_content_audio($post->post_content);
$_data['audios']=$audios;
$sql="select post_content from ".$wpdb->posts." where id=".$post_id;
$postContent = $wpdb->get_var($sql);
if(has_shortcode($postContent, 'gallery' ))//处理内容里的相册显示
{
$content= get_content_gallery($postContent,true);
}
$_content['rendered'] =$content;
$_content['raw'] =$raw;//古腾堡编辑器需要该属性,否则报错
$_content['protected'] =$content_protected;
$_data['content']= $_content;
$postImageUrl=get_option("wf_poster_imageurl");
$_data['postImageUrl']= $postImageUrl;
$sql=$wpdb->prepare("SELECT meta_key , (SELECT id from ".$wpdb->users." WHERE user_login=substring(meta_key,2)) as id ,(SELECT display_name from ".$wpdb->users." WHERE user_login=substring(meta_key,2)) as display_name FROM ".$wpdb->postmeta." where meta_value='like' and post_id=%d",$post_id);
$likes = $wpdb->get_results($sql);
//$_data['sql']=$sql;
$avatarurls =array();
foreach ($likes as $like) {
$userId = $like->id;
$display_name=$like->display_name;
$pos=stripos($display_name,'wx.qlogo.cn');
if($pos)
{
$avatar =$display_name;
}
else
{
$avatar= get_user_meta( $userId, 'avatar', true );
}
if(!empty($avatar))
{
$_avatarurl['avatarurl'] =$avatar;
}
else{
$avatar = plugins_url()."/".REST_API_TO_MINIPROGRAM_PLUGIN_NAME."/includes/images/gravatar.png";
$_avatarurl['avatarurl'] =$avatar;
}
$avatarurls[] = $_avatarurl;
}
$post_views =$post_views+1;
if(!update_post_meta($post_id, 'wl_pageviews', $post_views))
{
add_post_meta($post_id, 'wl_pageviews', 1, true);
}
$_data['avatarurls']= $avatarurls;
date_default_timezone_set('Asia/Shanghai');
$fristday= date("Y-m-d H:i:s", strtotime("-1 year"));
$today = date("Y-m-d H:i:s"); //获取今天日期时间
$tags= $_data["tags"];
if(!empty($tags))
{
$tags=implode(",",$tags);
$sql="
SELECT distinct ID, post_title
FROM ".$wpdb->posts." , ".$wpdb->term_relationships.", ".$wpdb->term_taxonomy."
WHERE ".$wpdb->term_taxonomy.".term_taxonomy_id = ".$wpdb->term_relationships.".term_taxonomy_id
AND ID = object_id
AND taxonomy = 'post_tag'
AND post_status = 'publish'
AND post_type = 'post'
AND term_id IN (" . $tags . ")
AND ID != '" . $post_id . "'
AND post_date BETWEEN '".$fristday."' AND '".$today."'
ORDER BY RAND()
LIMIT 5";
$related_posts = $wpdb->get_results($sql);
$_data['related_posts'] = $related_posts;
}
else{
$_data['related_posts']=null;
}
}
else
{
unset($_data['content'] );
}
$pageviews =$post_views ;
$_data['pageviews'] = $pageviews;
if(!empty($category))
{
$category_id=$category[0]->term_id;
$next_post = get_next_post($category_id, '', 'category');
$previous_post = get_previous_post($category_id, '', 'category');
$_data['next_post_id'] = !empty($next_post->ID)?$next_post->ID:null;
$_data['next_post_title'] = !empty($next_post->post_title)?$next_post->post_title:null;
$_data['previous_post_id'] = !empty($previous_post->ID)?$previous_post->ID:null;
$_data['previous_post_title'] = !empty($previous_post->post_title)?$previous_post->post_title:null;
}
// $data->data = $_data;
return $_data;
}
\ No newline at end of file
......@@ -66,7 +66,7 @@ class RAM_Weixin_API {
}
$response = wp_remote_request( $url, array(
'method' => $method,
'body' => json_encode( $body )
'body' =>$body
) );
return ! is_wp_error( $response ) ? json_decode( $response['body'], true ) : false;
......
......@@ -3,7 +3,7 @@
Plugin Name: REST API TO MiniProgram 微慕小程序
Plugin URI: https://www.minapper.com
Description: 为微信小程序、app提供定制化WordPress REST API json 输出.
Version: 4.0.5
Version: 4.0.6
Author: jianbo
Author URI: https://www.minapper.com
License: GPL v3
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册