shelob9/jp-wp-rest-api-client

通过 WordPress HTTP API 使用 WordPress REST API 的简单客户端

dev-master 2014-11-05 02:12 UTC

This package is auto-updated.

Last update: 2024-09-08 06:37:22 UTC


README

这是一个通过 WordPress HTTP API 使用 WordPress REST API 创建和更新文章的简单客户端。大部分代码基于我为 Torque 撰写的文章。

利用 Mark Jaquith 的 WP-TLC-Transients 库。需要 WordPress 和 WordPress REST API

安装

这不是一个插件。

添加它的简单和最佳方法是向您的网站/插件/主题的 composer.json 中添加 "shelob9/jp-wp-rest-api-client": "dev-master"。包含 composer 自动加载器。

或者,使用 Git Submodule 或复制粘贴的黑暗艺术将此仓库添加到您的网站/插件/主题中。然后手动包含其文件。注意:除非您执行 composer update 或以其他方式包含 Mark Jaquith 的 WP-TLC-Transients 库,否则缓存将不会工作。

###使用方法

  • 获取文章
    //get url string for posts in multiple CPTs with several filters
    $filters = array(
    	'posts_per_page' => 50,
    	'orderby' => 'modified_gmt',
    	'offset' => '10'
    );

    $post_types = array(
    	'post',
    	'page',
    	'book',
    	'author'
    );

    $url = JP_WP_REST_API_Client::posts_url_string( $post_types, $filters );

    //make request
    $response = JP_WP_REST_API_Client::get_json( $url );
  • 利用缓存获取文章
    //get url string for posts in multiple CPTs with several filters
    $filters = array(
    	'posts_per_page' => 50,
    	'orderby' => 'modified_gmt',
    	'offset' => '10'
    );

    $post_types = array(
    	'post',
    	'page',
    	'book',
    	'author'
    );

    $url = JP_WP_REST_API_Client::posts_url_string( $post_types, $filters );

    //make request
    $response = JP_WP_REST_API_Client::get_json_cached( $url );
  • 利用缓存获取所有文章 `$posts = JP_WP_REST_API_Client::get_json_cached( json_url() );

  • 从远程网站复制文章到本地网站

    $url = 'http://remote_site.com/wp-json/5';

    //get post
    $post = JP_WP_REST_API_Client::get_json( $url );

    //insert to current site
    $new_post_id = JP_WP_REST_API_Client::insert_post_from_json( $post );
  • 从本地网站复制文章到远程网站
    $url = json_url( 'posts/1' );

    //get post
    $post = JP_WP_REST_API_Client::get_json( $url );

    //make sure we got JSON
    if ( is_string( $post ) ) {
        //setup auth using basic auth
        $auth = 'Basic ' . base64_encode( 'username' . ':' . 'password' );
        $response = JP_WP_REST_API_Client::remote_post( $post, $auth, 'http://remotesite.com/wp-json/posts' );
        if ( ! is_wp_error( $response ) {
            //do something with correct response
        }
    }

许可证

版权所有 2014 Josh Pollock。根据 GNU 通用许可证第 2 版的条款许可。请与您的邻居分享。