如何在WordPress API中获得定制或过滤的端点?

时间:2017-06-08 作者:Ganesh

我正在使用WordPress API显示帖子。如何在WordPress API中获取自定义或筛选的端点?我只想要以下物品:

帖子标题、帖子内容、帖子日期、帖子类别、帖子特色图片、作者姓名、个人简历和图片应省略API中的所有其他内容或创建新的API URL。有没有什么插件我可以用来这样做?

我的PHP不是很好。

1 个回复
SO网友:jimboobrien

下面是一个如何使用Javascript从WordPress API读取帖子的示例。

    //Pegasus = Theme name
$.getJSON(\'https://visionquestdevelopment.com/wp-json/wp/v2/posts\', function(data){

  //foreach post
  for (i = 0; i < data.length; i++) {
    //console.log(data[i]);
    var output = \'\';
    var dateT;
    var dateArr = [];  

    //skip one of the posts with 404s on images 
    if( \'1555\'== data[i].id ) { continue; }

    //format date
    var dateTime = PegasusDateTime( data[i].date );
    dateArr = dateTime.toString().split(\' \');
    //["Day of Week", "Month", "Day", "Year", "Time", "TimeZone"]
    var newTime = dateArr[1] + " " + dateArr[2] + ", " + dateArr[3]; 

    output += "Author " + data[i].author+"<br>";
    output += "Categories: " + data[i].categories+"<br>";
    output += data[i].content.rendered;
    output += "Date: " + newTime+"<br>";
    output += data[i].excerpt.rendered;
    output += "Attached Image ID: " + data[i].featured_media+"<br>";
    output += "Post Format: " + data[i].format+"<br>";
   //output += "GUID: " + data[i].guid+"<br>";
    output += "Post ID: " + data[i].id+"<br>";
    output += "Post URL: " + data[i].link+"<br>";
    output += "Custom Meta: " + data[i].meta+"<br>";
    output += "Slug: " + data[i].slug+"<br>";
    output += "Status: " + data[i].status+"<br>";
    output += "Tag IDs: " + data[i].tags+"<br>";

    $(".posts").append(\'<li class="item">\' + output + \'</li>\');
  }


});

function PegasusDateTime(timeStr) {
    //eg:-timeStr=18-03-2013 12:53:00
    var tmstr = timeStr.toString().split(\' \'); //\'21-01-2013 PM 3:20:24\'
    var dt = tmstr[0].split(\'/\'); //
    var str = dt[2] + "/" + dt[1] + "/" + dt[0] + " " + tmstr[1]; //+ " " + tmstr[1]//\'2013/01/20 3:20:24 pm\'
    //try to create the timestamp and set time variable to valid time
    var time = new Date(str);
    if (time == "Invalid Date") {
        time = new Date(timeStr);
    }

    return time;
} 

https://codepen.io/jimboobrien/pen/ZKrLzV

只需修改JS,使其只包含您想要的信息。

吉姆博

结束

相关推荐

WordPress Plugins won't save

我有一个WordPress网站,我刚刚接管了一个客户,因此我没有能力与以前的网站管理员/开发人员交谈。该网站使用的是YOOtheme对Subway稍加修改的版本。为了更新插件位置,Subway的一部分有“小部件选项”。我无法更改外观或小部件显示的页面,因为我无法保存任何内容。它看起来像已保存,但没有保存,或者您会在保存按钮旁边看到“加载循环”,它一直在运行。Things to note:<WordPress和插件是最新的。在我们转移到新服务器之前,插件是可更新的。新服务器有一个max\\u inpu