valu / wp-graphql-polylang
wp-graphql 的 Polylang 绑定
v0.7.0
2024-05-21 10:29 UTC
Requires (Dev)
- bordoni/phpass: *
- codeception/module-asserts: ^1.0
- codeception/module-cli: ^1.0
- codeception/module-db: ^1.0
- codeception/module-filesystem: ^1.0
- codeception/module-phpbrowser: ^1.0
- codeception/module-rest: ^1.0
- codeception/module-webdriver: ^1.0
- codeception/util-universalframework: ^1.0
- lucatume/wp-browser: ~2.2
- valu/wp-testing-tools: ^0.4.0
- dev-master
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.0
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.3.3
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.1
- v0.2.0
- v0.1.1
- dev-stable
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-dependabot/composer/guzzlehttp/guzzle-7.4.5
- dev-dependabot/composer/composer/composer-2.2.12
- dev-dependabot/composer/mustache/mustache-2.14.1
- dev-add-active-type
- dev-isTranslatedFrontPage
- dev-multi-languages
- dev-fix-draft-translations
- dev-fix-tests2021
- dev-esamattis-patch-2
- dev-esamattis-patch-1
- dev-fix-tests
- dev-wp-graphql-prelease
- dev-is_graphql_http_request
- dev-autoload
- dev-tests
This package is auto-updated.
Last update: 2024-09-21 11:22:57 UTC
README
通过 Polylang 插件扩展 WPGraphQL 架构,以包含语言数据。
功能
适用于文章和术语(包括自定义术语)
- 添加
language
和translations
字段 - 使用
language
参数进行筛选 - 在创建和更新突变中设置语言
- 默认情况下在 API 中显示所有翻译
- Polylang 修补 WP Query,只列出当前默认语言的项。此插件使 GraphQL API 逆转此行为
- ACF 选项页面支持
根查询
defaultLanguage
获取当前默认语言languages
列出所有配置的语言
菜单
- 按语言筛选菜单项
有关详细信息,请参阅 GraphiQL 中生成的文档。
示例
展示所有功能的示例
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 } } }
要求
- PHP 7.2 或更高版本
- WPGraphQL 0.13.x 或更高版本
- Polylang 2.6.5 或更高版本
- 免费版本足够
- 如果您使用 PRO 版本,则翻译别名等 PRO 功能也将正常工作
安装
如果您使用 composer,您可以从 Packagist 安装它
composer require valu/wp-graphql-polylang
否则,您可以从 Github 克隆它到您的插件中,使用稳定分支
cd wp-content/plugins
git clone --branch stable https://github.com/valu-digital/wp-graphql-polylang.git
ACF 选项页面
除了 WPGraphQL 和 Polylang 插件外,您还需要以下插件
- Advanced Custom Fields Pro
- 这是仅限 PRO 功能
- ACF 选项 For Polylang
- WPGraphQL for Advanced Custom Fields
- 需要 v0.3.2 或更高版本
您可以使用 Composer 安装免费插件。您需要启用 WordPress Packagist 存储库。
composer require wp-graphql/wp-graphql-acf wpackagist-plugin/acf-options-for-polylang
在注册选项页面时,您必须传递 show_in_graphql
和 graphql_field_name
参数。
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
您可以在 WPGraphQL Slack 的 #polylang
频道找到我们。
WPML
但我正在使用 WPML 呢?!
或者您可能想查看迁移文档
https://polylang.pro/how-to-switch-from-wpml-to-polylang/