1

我为 PAWS New England 管理网站,这是一个严重依赖 PetFinder 的动物救援组织。虽然 PetFinder 提供了一个基于 iframe 的小部件来显示您可用的动物,但它打破了网站在较小屏幕上的响应式设计。

因此,我使用 PetFinder 的 API(基于 XML)构建了自定义的“Our Dogs”页面。

不幸的是,API 有时会运行得很慢。我想每小时从 API 中提取一次数据并将其存储在站点的 mySQL 数据库中(它由 WordPress 提供支持),然后运行自定义页面而不是实时 API 数据。WordPress 的“Transient API”似乎非常合适,但我终其一生都无法弄清楚如何让它发挥作用。

经过一番搜索,似乎问题可能在于 PHP 存储 XML 数据的能力(或缺乏能力)。换句话说,我可能需要先将数据转换为字符串或数组。

我现在正式陷入困境。任何人都对如何将 XML 数据每小时保存到 WordPress 数据库并访问该数据以在函数中使用有任何见解?

这是我现有的代码。提前致谢!

<?php

function petf_shelter_list( $atts ) {

    extract( shortcode_atts( array(
        'shelter_id' => '1234',
        'api_key' => 'abcdef',
        'count' => 150,
        'status' => 'A'
    ), $atts ) );

    $xml = simplexml_load_file( "http://api.petfinder.com/shelter.getPets?key=" . $api_key . "&count=" . intval($count) . "&id=" . $shelter_id . "&status=" . $status . "&output=full" );

    // Stuff I do with $xml here...

}

add_shortcode('shelter_list','petf_shelter_list');

?>
4

1 回答 1

1

您可以使用PHP 的 XML Parser来处理问题的 XML 部分。

至于每小时运行一些东西,您需要设置一个 cron 作业来执行您想要的脚本。

于 2013-02-26T16:51:42.313 回答