我自己编写的插件减慢了我的Wordpress网站的速度。此插件从不同站点的RSS源加载事件。
我已停用该插件,它在Google Page Speed中的差异为20。
我如何在Ajax或Javascript中加载RSS源?
我的代码:
$rss = simplexml_load_file(get_option('capu_url'));
foreach ($rss->channel->item as $item) {
echo '<h4><a href="'. $item->link .'">' . $item->title . "</a></h4>";
//echo "<p>" . $item->description . "</p>";
$dom = new DOMDocument;
$dom->strictErrorChecking = FALSE ;
libxml_use_internal_errors(true);
$dom->loadHTML($item->description);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//ul[@class="ee-event-datetimes-ul"]'); // get <ul>'s with class 'up'
foreach($nodes as $node) { // loops through each <ul>
foreach($node->getElementsByTagName('li') as $li) { // loops through the <li>'s
echo $li->nodeValue . "<br/>\n"; // echo's the <li> elements
答案 0 :(得分:3)
根据您对服务器的访问权限,考虑运行cron作业,例如每小时检索一次RSS源,将其转换为JSON并将其保存为Web根目录中的某个文件。
现在,您可以使用JavaScript从服务器异步检索Feed作为JSON数据文件,并将其显示在您的网站上。
如果您没有shell访问权限,请尝试在Wordpress中使用wp_cron
功能。