Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多个类别的Wordpress自定义JSON提要_Json_Wordpress_Rss_Feed - Fatal编程技术网

具有多个类别的Wordpress自定义JSON提要

具有多个类别的Wordpress自定义JSON提要,json,wordpress,rss,feed,Json,Wordpress,Rss,Feed,大家早上好 有可能有一个自定义的JSON提要,其中包含所有类别的最后10篇文章,其中发布了10篇或更多的文章 我通过循环所有类别来完成这项工作,其中有10篇或更多文章是由dphiffer使用wordpress的JSON API插件发布的 因此,如果我有14个类别,我将执行140个请求并使服务器过载 我正在寻找一种方法,通过一两个请求就可以做到这一点。就像第一个请求获取包含10篇或更多文章的类别索引,第二个请求获取所有数据一样 谢谢 以下是我迄今为止开发的代码: <script type="

大家早上好

有可能有一个自定义的JSON提要,其中包含所有类别的最后10篇文章,其中发布了10篇或更多的文章

我通过循环所有类别来完成这项工作,其中有10篇或更多文章是由dphiffer使用wordpress的JSON API插件发布的

因此,如果我有14个类别,我将执行140个请求并使服务器过载

我正在寻找一种方法,通过一两个请求就可以做到这一点。就像第一个请求获取包含10篇或更多文章的类别索引,第二个请求获取所有数据一样

谢谢

以下是我迄今为止开发的代码:

<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代码