有没有一种XMLWeb服务可以从该站点获取帖子、类别和其他数据?

时间:2016-09-30 作者:The Unknown Dev

我知道有一个JSON API Plugin 我想这就是我想要的,最大的例外是它只输出JSON,没有我可以看到的输出XML的配置。XML webservice是否有等价物,或者我是否可以通过一些内置的WP功能自己输出它?

我希望输出XML,因为我希望将数据提供给可以与XML web服务集成的第三方搜索引擎工具。

1 个回复
最合适的回答,由SO网友:EAMann 整理而成

WordPress附带默认启用的XML-RPC接口。它使您能够通过XML检索和编辑/创建网站上的内容。

上提供的API有很多详细信息the Codex.

据我所知,目前还没有任何现有系统可以为WordPress提供XML over GET。网页往往已经是某种形式的(X)HTML,如果严格遵循XHTML规范,您的主题本身可能会产生一些可解析的内容。

然而,这并不是唯一的选择。

如果你看看一些新的AMP work being done with WordPress, 您将看到开发人员如何利用自定义URL重写端点为同一资源提供不同的内容。例如:

  • http://yoursite.com/2016/09/cool-post-bro - 提供标准HTMLhttp://yoursite.com/2016/09/cool-post-bro/amp - 提供AMP标记,您可以使用相同的模式对/xml 重写端点,根据需要在任意标记中显示帖子。

    为了让您开始。。。

    启用终结点

    function xml_init() {
        add_rewrite_endpoint( \'xml\', EP_PERMALINK );
    }
    add_action( \'init\', \'xml_init\' );
    
    拦截请求以便准备XML
    function xml_maybe_change_markup() {
        if ( ! is_singular() || is_feed() ) return;
    
        // Only intercept the right requests
        if ( false === get_query_var( \'xml\', false ) ) return;
    
        add_action( \'template_redirect\', \'xml_render\' );
    }
    add_action( \'wp\', \'xml_maybe_change_markup\' );
    
    实际呈现XML
    function xml_render() {
        $post_id = get_queried_object_id();
    
        // Get the post, build your XML document, print it to the page
    
        exit;
    }
    
    由于我不知道您需要什么样的确切输出,我将构建XML文档作为一项练习留给您:-)