󰅡收起

艾码汇

互联网营销设计、运营推广进阶笔记

Vultr VPS
11
二月

WordPress 版微信小程序如何获取随机文章列表

作者: 艾慧
分类: 设计主题
共 2283字
发布时间: 2018-02-11 11:18

使用 守望轩 提供的 WordPress 版微信小程序插件和小程序源代码并没有提供获取随机文章列表 Api 。现在提供一下获取随机文章列表的 WordPress 版微信小程序代码。

1、把下面的代码保存为 random.php 文件。

<?php
// 定义随机文章 API
add_action( 'rest_api_init', function () {
register_rest_route( 'wechat/v1', 'post/random', array(
'methods' => 'GET',
'callback' => 'getRandomPosts'
));
});
function getRandomPosts( $data ) {
$data=get_random_post_data(10);
if ( empty( $data ) ) {
return new WP_Error( 'noposts', 'noposts', array( 'status' => 404 ) );
}
// Create the response object
$response = new WP_REST_Response( $data );
// Add a custom status code
$response->set_status( 200 );
return $response;
}
function get_random_post_data($limit = 10) {
global $wpdb, $post;
$today=date("Y-m-d H:i:s"); // 获取当天日期时间
$limit_date=date("Y-m-d H:i:s", strtotime("-1 year")); // 获取指定日期时间
$sql="SELECT ID, post_title,post_date FROM $wpdb->posts WHERE post_status = 'publish' AND post_title != '' AND post_password ='' AND post_type = 'post' ORDER BY RAND() LIMIT 0 , $limit";
$randposts = $wpdb->get_results($sql);
$posts=array();
foreach ($randposts as $post) {
$post_id = (int) $post->ID;
$post_title = stripslashes($post->post_title);
$pageviews = (int) $post->pageviews_total;
$post_date =$post->post_date;
$post_permalink = get_permalink($post->ID);
$_data["post_id"] =$post_id;
$_data["post_title"] =$post_title;
//$_data["pageviews"] =$pageviews;
$_data["post_date"] =$post_date;
$_data["post_permalink"] =$post_permalink;
$pageviews = (int) get_post_meta( $post_id, 'wl_pageviews',true);
$_data['pageviews'] = $pageviews;

$like_count = $wpdb->get_var("SELECT COUNT(1) FROM ".$wpdb->postmeta." where meta_value='like' and post_id=".$post_id);
$_data['like_count'] = $like_count;
$comment_total = $wpdb->get_var("SELECT COUNT(1) FROM ".$wpdb->comments." where comment_approved = '1' and comment_post_ID=".$post_id);
$_data['comment_total']= $comment_total;
$images =getPostImages($post->post_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'];
$posts[] = $_data;
}
return $posts;
}

2、在插件处引用这个文件。修改 wp-rest-api-for-app.php 这个文件,在最后加上


include(WP_REST_API_FOR_APP_PLUGIN_DIR . 'random.php');    // 随机文章列表

3、在微信小程序源码修改 utils 目录下的 api.js 在最后一个 "}" 前加上以下内容:

// 获取海报
getRandomUrl() {
var url = 'https://' + domain + "/wp-josn/wechat/v1/post/random";
return url;
}

4、调用随机文章列表数据,可以参考 获取文章列表数据 方式。具体内容就不写了。

Vultr VPS

版权声明:艾码汇 除原创声明皆来源于网络搜集,转载请保留原文出处

一条评论

  1. 宋怀庆 2018年2月11日 上午11:25

    好!