Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过xmlrpc请求从WordPress博客获取所有帖子的ID_Wordpress_Xml Rpc - Fatal编程技术网

通过xmlrpc请求从WordPress博客获取所有帖子的ID

通过xmlrpc请求从WordPress博客获取所有帖子的ID,wordpress,xml-rpc,Wordpress,Xml Rpc,我在WordPress codex中找不到任何xmlrpc方法调用来执行此操作。 我可以通过metaWeblog.getRecentPosts和extract ID获取所有帖子,但我不知道博客中帖子的确切数量。没有XML-RPC方法获取所有帖子,主要是因为这可能会导致对包含5000篇帖子和高流量的博客进行成像时出现严重的性能问题。。。试图解析所有内容的列表将导致严重的服务器延迟 使用stock WordPress方法可以得到的最接近的方法是getRecentPosts调用:blogger.get

我在WordPress codex中找不到任何xmlrpc方法调用来执行此操作。
我可以通过metaWeblog.getRecentPosts和extract ID获取所有帖子,但我不知道博客中帖子的确切数量。

没有XML-RPC方法获取所有帖子,主要是因为这可能会导致对包含5000篇帖子和高流量的博客进行成像时出现严重的性能问题。。。试图解析所有内容的列表将导致严重的服务器延迟

使用stock WordPress方法可以得到的最接近的方法是getRecentPosts调用:blogger.getRecentPosts和metaWeblog.getRecentPosts metaWeblog调用实际上只是blogger调用的别名

也就是说,您可以创建自己的方法来返回已发布帖子的计数或已发布帖子的ID列表。只需创建一个快速插件,将其挂接到XML-RPC系统中,即可添加端点和方法:

function xml_add_method( $methods ) {
    $methods['myNamespace.postCount'] = 'get_post_count';
    $methods['myNamespace.postIDList'] = 'get_post_id_list';
    return $methods;
}
add_filter( 'xmlrpc_methods', 'xml_add_method' );
该代码块将向XML-RPC系统添加两个新调用:myNamespace.postCount和myNamespace.postdlist。您可以远程调用这些函数,分别返回已发布帖子的计数和已发布帖子ID的列表

您还需要定义处理请求的PHP函数-所有XML-RPC系统都会将远程请求路由到返回数据的内部PHP函数:

function get_post_count( $args ) {
    global $wpdb;

    ... code that retrieves the total count of published posts from the database ...

    return $count;
}

function get_post_id_list( $args ) {
    global $wpdb;

    ... code that retrieves a list of published posts from the database ...

    return $postlist;
}

就这样。将所有代码汇集到一个自定义插件中,将其放置在您的站点中,激活它,现在您可以通过XML-RPC获得已发布帖子的数量或已发布帖子ID的列表。

没有XML-RPC方法获取所有帖子,主要是因为这可能会导致严重的性能问题,想象一个拥有5000篇文章和高流量的博客。。。试图解析所有内容的列表将导致严重的服务器延迟

使用stock WordPress方法可以得到的最接近的方法是getRecentPosts调用:blogger.getRecentPosts和metaWeblog.getRecentPosts metaWeblog调用实际上只是blogger调用的别名

也就是说,您可以创建自己的方法来返回已发布帖子的计数或已发布帖子的ID列表。只需创建一个快速插件,将其挂接到XML-RPC系统中,即可添加端点和方法:

function xml_add_method( $methods ) {
    $methods['myNamespace.postCount'] = 'get_post_count';
    $methods['myNamespace.postIDList'] = 'get_post_id_list';
    return $methods;
}
add_filter( 'xmlrpc_methods', 'xml_add_method' );
该代码块将向XML-RPC系统添加两个新调用:myNamespace.postCount和myNamespace.postdlist。您可以远程调用这些函数,分别返回已发布帖子的计数和已发布帖子ID的列表

您还需要定义处理请求的PHP函数-所有XML-RPC系统都会将远程请求路由到返回数据的内部PHP函数:

function get_post_count( $args ) {
    global $wpdb;

    ... code that retrieves the total count of published posts from the database ...

    return $count;
}

function get_post_id_list( $args ) {
    global $wpdb;

    ... code that retrieves a list of published posts from the database ...

    return $postlist;
}
就这样。将所有代码合并到一个自定义插件中,将其放置在您的站点中,激活它,您现在可以通过XML-RPC获得已发布帖子的数量或已发布帖子ID的列表