WP GraphQL Polylang WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
WPGraphQL Polylang Extension for WordPress
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/valu-digital/wp-graphql-polylang/archive/refs/heads/master.zipOn Packagist as valu/wp-graphql-polylang:
composer require valu/wp-graphql-polylangWPGraphQL Polylang Extension
Extend WPGraphQL schema with language data from the Polylang plugin.
Features
For posts and terms (custom ones too!)
- Adds
languageandtranslationsfields - Filter with a
languagewhere argument - Set the language on create and update mutations
- Show all translations in the api by default
- Polylang patches the WP Query to only list items with the current default language. This plugin reverts that for the GraphQL api
- ACF Options Pages support
Root queries
defaultLanguageget the current default languagelanguageslist all configured languages
Menu
- Filter menu items by language
For details please refer to the generated docs in GraphiQL.
Example
Example showing all features
query PolylangExample {
# Filter pages by language. If not set it defaults to ALL
pages(where: { language: EN }) {
nodes {
title
# Get language of each page
language {
code # Language code
name # Human readable name of the language
}
# Get links to the translates versions of each page
# This is an array of post objects
translations {
title
link
language {
code
}
}
}
}
# Taxonomies such as tags can be filtered like post objects
tags(where: { language: EN }) {
nodes {
name
language {
code
name
}
}
}
# Get translated version of a given menu
menuItems(where: { language: EN, location: FOOTER_MENU }) {
nodes {
url
}
}
# Get the default language
defaultLanguage {
name
code
}
# Get all configured languages
languages {
name
code
}
# Get translations for ACF Options Pages.
# See the section in the README.
siteSettings(language: EN) {
siteSettings {
footerTitle
}
}
}
Requirements
- PHP 7.2 or later
- WPGraphQL 0.13.x or later
- Polylang 2.6.5 or later
- The free version is enough
- If you get the PRO version the pro features such as translated slugs will work too
Installation
If you use composer you can install it from Packagist
composer require valu/wp-graphql-polylang
Otherwise you can clone it from Github to your plugins using the stable branch
cd wp-content/plugins
git clone --branch stable https://github.com/valu-digital/wp-graphql-polylang.git
ACF Options Pages
In addition to WPGraphQL and Polylang plugins you'll need these plugins too
- Advanced Custom Fields Pro
- It's Pro only feature
- ACF Options For Polylang
- WPGraphQL for Advanced Custom Fields
- v0.3.2 or later is required
You can install the free plugins using Composer. You'll need to have the WordPress Packagist repository enabled.
composer require wp-graphql/wp-graphql-acf wpackagist-plugin/acf-options-for-polylang
When registering the Options Page you must pass in show_in_graphql and
graphql_field_name arguments.
acf_add_options_page([
'page_title' => __('Site settings', 'theme'),
'menu_title' => __('Site settings', 'theme'),
'menu_slug' => 'site-settings',
'capability' => 'manage_options',
'redirect' => false,
'show_in_graphql' => true,
'graphql_field_name' => 'siteSettings'
]);
Slack
You can find us from the WPGraphQL Slack on the #polylang channel.
WPML
But I'm using WPML?!
There's rburgst/wp-graphql-wpml.
Or you might want to checkout migration docs
https://polylang.pro/how-to-switch-from-wpml-to-polylang/
Contributing
Checkout CONTRIBUTING.md
Releases
18 releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.