whitespace-se / wordpress-plugin-gatsby
Adds preview and other integrations with Gatsby
Installs: 3 071
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 10
Forks: 0
Open Issues: 1
Type:wordpress-plugin
Requires
- composer/installers: ~1.0
Requires (Dev)
- ivome/graphql-relay-php: 0.3.1
- webonyx/graphql-php: 14.3.0
README
Wordpress plugin that adds preview and other integrations with Gatsby.
How to install
If you want to use this plugin as an MU-plugin, first add this to your composer.json:
{ "extra": { "installer-paths": { "path/to/your/mu-plugins/{$name}/": [ "whitespace-se/wordpress-plugin-gatsby" ] } } }
Where path/to/your/mu-plugins
is something like wp-content/mu-plugins
or
web/app/mu-plugins
.
Then get the plugin via composer:
composer require whitespace-se/wordpress-plugin-gatsby
Configuration
Preview
Define the GATSBY_PREVIEW_ENDPOINT
constant in you config (e.g. in
wp-config.php
) to set up the preview, for example:
define("GATSBY_PREVIEW_ENDPOINT", "https://example.com/wp-preview");
This url will be appended with a query string containing these parameters:
id
– The GraphQL ID for the postuser
=> The encrypted ID of the user that is previewing the postwpnonce
=> Awp_rest
noncecontentType
=> The content type of the post (deprecated)
You should use GraphQL to request data for the preview and that request must
contain the x-wp-user
and x-wp-nonce
headers, containing the values received
in the query string.
The GraphQL query may look like this, where $id
is the GraphQL ID for the post
received in the query string:
query PreviewQuery($id: ID!) { wp { contentNode(id: $id, asPreview: true) { # ... } } }
Refresh on save
Define the GATSBY_REFRESH_ENDPOINTS
constant in you config (e.g. in
wp-config.php
) if you need to trigger a Gatsby refresh when posts are updated.
Example:
define("GATSBY_REFRESH_ENDPOINTS", "http://localhost:8000/__refresh");
The value can be a single URL or multiple URLs either as an array or
comma-separated in a single string. You can also use the
gatsby_refresh_endpoints
filter to alter the value.