开发者社区> 镜像站> NPM> @gsandf/wordpress-graphql-schema
@gsandf/wordpress-graphql-schema
🤝 GraphQL schema for interacting with the WordPress API
Last updated 6 months ago by blakek .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install @gsandf/wordpress-graphql-schema 
SYNC missed versions from official npm registry.

@gsandf/wordpress-graphql-schema

???? GraphQL schema for interacting with the WordPress API

⚠️ This is a work-in-progress. Until a major version number is met, expect features to change. Also, only queries have been added right now.

Nearly all websites we make right now use React with server-side rendering. In order to deliver projects quickly and cheaply, we often use WordPress as an admin interface. This package is a work-in-progress to help communication between the two.

Usage

This creates a GraphQL server that fetches data from https://example.com/wp-json:

import { createSchema } from '@gsandf/wordpress-graphql-schema';
import { GraphQLServer } from 'graphql-yoga';

const graphqlOptions = {
  endpoint: '/graphql',
  playground: '/graphql',
  port: process.env.PORT || 3000,
  subscriptions: '/graphql'
};

const wordPressOptions = {
  baseURL: 'https://example.com/wp-json'
};

const server = new GraphQLServer({ schema: createSchema(wordPressOptions) });

server.start(graphqlOptions, ({ playground, port }) => {
  console.log(` > Site @ http://localhost:${port}/`);
  console.log(` > Playground @ http://localhost:${port}${playground}`);
});

API

createSchema(options)

options

Type: object

Options are passed to axios. For details, see the axios docs.

Options with defaults already set are listed below:

options.baseURL

Type: string
Default: 'localhost:8080/wp-json'

options.headers

Type: object
Default: { 'Content-Type': 'application/json' }

createUncompiledSchema(options)

Same as createSchema, but returns an object with typeDefs, resolvers, and schemaDefinitions instead of a schema AST. This can be useful if you need to tweak parts of the schema before using it.

options

Type: object

Options are passed to axios. For details, see the axios docs.

Options with defaults already set are listed below:

options.baseURL

Type: string
Default: 'localhost:8080/wp-json'

options.headers

Type: object
Default: { 'Content-Type': 'application/json' }

wpFetch(path, options)

Create a network request to the WordPress API.

path

Type: string

The endpoint to call.

options

Type: object

Options are passed to axios. For details, see the axios docs.

options.urlParams

Used to pre-compile request paths. For example:

const options = {
  urlParams: { id: 3 }
};

wpFetch('/example/:id', options);
```

...will create a network request to `{{baseURL}}/example/3`.

## Install

Using [Yarn]:

```bash
$ yarn add @gsandf/wordpress-graphql-schema

…or using npm:

$ npm i --save @gsandf/wordpress-graphql-schema

License

MIT

Current Tags

  • 0.3.2                                ...           latest (6 months ago)

6 Versions

  • 0.3.2                                ...           6 months ago
  • 0.3.1                                ...           6 months ago
  • 0.3.0                                ...           6 months ago
  • 0.3.0-0                                ...           6 months ago
  • 0.2.0                                ...           7 months ago
  • 0.1.0                                ...           9 months ago
Downloads
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 6
Dependencies (8)
Dependents (0)
None