具有多个类别的Wordpress自定义JSON提要
大家早上好 有可能有一个自定义的JSON提要,其中包含所有类别的最后10篇文章,其中发布了10篇或更多的文章 我通过循环所有类别来完成这项工作,其中有10篇或更多文章是由dphiffer使用wordpress的JSON API插件发布的 因此,如果我有14个类别,我将执行140个请求并使服务器过载 我正在寻找一种方法,通过一两个请求就可以做到这一点。就像第一个请求获取包含10篇或更多文章的类别索引,第二个请求获取所有数据一样 谢谢 以下是我迄今为止开发的代码:具有多个类别的Wordpress自定义JSON提要,json,wordpress,rss,feed,Json,Wordpress,Rss,Feed,大家早上好 有可能有一个自定义的JSON提要,其中包含所有类别的最后10篇文章,其中发布了10篇或更多的文章 我通过循环所有类别来完成这项工作,其中有10篇或更多文章是由dphiffer使用wordpress的JSON API插件发布的 因此,如果我有14个类别,我将执行140个请求并使服务器过载 我正在寻找一种方法,通过一两个请求就可以做到这一点。就像第一个请求获取包含10篇或更多文章的类别索引,第二个请求获取所有数据一样 谢谢 以下是我迄今为止开发的代码: <script type="
<script type="text/javascript">
var slug = 'news'; // Main categorie
var maxLength = 10; // Total of articles per categorie
var wpurl = 'http://wpurl.com'; // WP URL
var loadedValue, loadedTotal;
var categories = new Array();
var newsData = new Array();
//Get main categorie index by slug
$.ajax({
url: wpurl+'/?json=get_category_index',
type: 'GET',
dataType: 'jsonp',
success: function(data){
for (i = 0; i < data.categories.length; i++) {
var cat = data.categories[i];
if(cat.slug == slug) {
get_all_categories(cat.id);
}
}
},
error: function(data){
console.log(data);
}
});
//Get all sub-categories from an categorie slug
function get_all_categories(cat_index) {
$.ajax({
url: wpurl+'/?json=get_category_index&parent='+cat_index,
type: 'GET',
dataType: 'jsonp',
success: function(data){
for (i = 0; i < data.categories.length; i++) {
var cat = data.categories[i];
//Check if categorie have 10 (maxLength) or more posts. If so push it to array (categories)
if(cat.post_count >= maxLength) {
categories.push({
'index': cat.id,
'title': cat.title
});
}
}
},
error: function(data){
console.log(data);
}
}).done(function() {
//Set loading
var totalItem = categories.length*maxLength;
var actualItem = 0;
var loaded = 0;
for(var i=1; i<=categories.length; i++){
prepareCategory(categories[i-1].index, maxLength, i);
function prepareCategory(categorieIndex, maxLenght, count) {
var content;
$.ajax({
url: wpurl+'/api/get_category_posts?category_id='+categorieIndex+'&count='+maxLenght+'&status=publish',
type: 'GET',
dataType: 'jsonp',
success: function(data){
for (e = 0; e < data.posts.length; e++) {
//Loading percent
actualItem++;
loaded = (actualItem/totalItem)*100;
document.getElementById('loadingBox').innerHTML = 'Loading: '+Math.round(loaded)+'%';
//Post data
var post = data.posts[e];
var title = post.title;
var thumb = post.thumbnail_images.appthumb.url || 'content/images/noimage.png';
var newContent = '<div class="new"><a href="#"><img src="'+thumb+'" width="320" height="164"><div class="new_description">'+title+'</div></a></div>';
var newId = 'cat'+count+'new'+(e+1);
newsData.push({
'id': newId,
'content':newContent
});
}
},
error: function(data){
console.log(data);
}
});
}
}
});
};
function loaded() {
if (window.localStorage.length != 0)
{
localStorage.clear();
setGlobalStorageAndRedirect();
} else {
setGlobalStorageAndRedirect();
}
function setGlobalStorageAndRedirect() {
localStorage.setItem('postPerCat', maxLength);
localStorage.setItem('catNumbs', categories.length);
localStorage.setItem('wpurl', wpurl);
localStorage.setItem('categoriesArray', JSON.stringify(categories));
localStorage.setItem('newsData', JSON.stringify(newsData));
window.location="main.html";
}
}
</script>
var slug='news';//主要分类
var maxLength=10;//每类文章总数
var wpurl=http://wpurl.com'; // 可湿性粉剂网址
var loadedValue,loadedTotal;
var categories=新数组();
var newsData=新数组();
//通过slug获取主分类索引
$.ajax({
url:wpurl+'/?json=get_category_index',
键入:“GET”,
数据类型:“jsonp”,
成功:功能(数据){
对于(i=0;i=最大长度){
类别.推送({
“索引”:cat.id,
“标题”:类别标题
});
}
}
},
错误:函数(数据){
控制台日志(数据);
}
}).done(函数(){
//设置加载
var totalItem=类别。长度*最大长度;
var=0;
var=0;
对于(var i=1;iYou已经建模了一种方法。到目前为止,您尝试过什么吗?我已经添加了我的javaScript代码