WP Manifestindependent plugin directory
manifest / integrations / wp-graphql-polylang

WP GraphQL Polylang WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA

WPGraphQL Polylang Extension for WordPress

★ 149stars
116kcomposer installs
v0.7.1latest · 1 year ago

Install

Download source zip No release zip yet

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.zip

On Packagist as valu/wp-graphql-polylang:

composer require valu/wp-graphql-polylang
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

WPGraphQL Polylang Extension

Extend WPGraphQL schema with language data from the Polylang plugin.

Features

For posts and terms (custom ones too!)

  • Adds language and translations fields
  • Filter with a language where 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

  • defaultLanguage get the current default language
  • languages list 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

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.

Tag
Published
v0.7.1 latest
May 6, 2025 1 year ago
May 21, 2024 2 years ago
Sep 28, 2021 5 years ago
Oct 1, 2020 6 years ago
Apr 17, 2020 6 years ago
Mar 6, 2020 6 years ago
Feb 11, 2020 6 years ago
Jan 27, 2020 6 years ago
Jan 27, 2020 6 years ago
Dec 16, 2019 6 years ago
Dec 16, 2019 6 years ago
Dec 11, 2019 6 years ago
Nov 6, 2019 6 years ago
Nov 6, 2019 6 years ago
Nov 6, 2019 6 years ago
Nov 6, 2019 6 years ago
May 7, 2019 7 years ago
May 7, 2019 7 years ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.

A grade

Security

WP GraphQL Polylang 0.7.1 · audited by WP Registry

No security issues found.

Audited release
0.7.1
Findings
none
Worst severity
—
Content hash
17fbcc207bd6a918a33bb2c7…

WP Registry hashes the installable build and reports on that exact bytes-for-bytes copy. Embargoed findings are withheld until they are disclosed, so a clean verdict means nothing public is outstanding. WP Manifest does not audit code itself.