2014-04-14 31 views
1

我是非常入门级的PHP。我对wordpress非常熟练,并且创建了一些简单的插件。我的情况是,我想重新创建谷歌显示维基百科文章的方式。我希望能够在个人姓名中使用简码,并且只要在我的wordpress网站上返回相同的结果,Google就会返回相同的结果并以同样的方式进行样式设置。我知道维基百科有一个允许搜索和显示的api,我只是想绕过这个过程。如果有人能指出我如何在php或wordpress中实现这个目标,我会非常感激。我知道这里有关于wiki api的一些类似问题,但我想听到一些不同的方法来找到实现谷歌正在做的最好的方法。如何添加维基百科到wordpress插件

如果您不知道我在说什么,请尝试用Google搜索某个有维基文章的知名人士,并在屏幕右侧显示他们的照片和他们的信息在一个非常漂亮的显示框中。是否可以一次查询整个页面信息,还是必须从wiki中查询每条信息,然后用css显示这些信息?

请原谅我,如果这是模糊的或已被覆盖。我对人们的逻辑非常感兴趣,以应对这种情况。任何有关这方面的信息都会非常有帮助。

回答

2

如果这不会陷入地狱,你会很幸运,但我会尽力给你至少一个基本的贯穿。

有两种方法可以解决这个问题。 AJAX或PHP。 PHP方法要把你的脑袋包裹起来要复杂一点(至少对我来说)。

PHP

首先,你应该坐下来认真阅读Wikipedia API手动和来源。维基百科背后的人们付出了很多努力,如果没有告诉你如何使用他们的系统的信息,他们不会这么做。不要被吓倒 - 它确实不那么难。

其次,读完API之后,您会知道这个URL的含义。

http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content 

可能不使用卷曲,这会是非常混乱的工作方法,是file_get_contents()

所以设置的查询字符串参数的API,并使用它们像这样:

$api_call = file_get_contents('http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content'); 
$api_data = json_decode($homepage); 

现在你应该有一个数组,你应该能够轻松地操纵和放置到你的网站。


的jQuery/AJAX在我看来

比较容易的方式,和你有一些用户操作的好处:

$.ajax({ 
    type: 'GET', 
    url: 'http://en.wikipedia.org/w/api.php?format=json&action=query&titles=Main%20Page&prop=revisions&rvprop=content' 
}).done(function(data){ 
    var d = $.parseJSON(data); 
    $('div.data-holder').html('foo'+d.bar); 
}); 

这一切都不是测试。只是为了一个大概的想法。希望这可以帮助。

+1

这正是我所期待的。在我再次查看文档时,现在变得更有意义了。谢谢,我真的很感激它。 – Musik8101