You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
WordPress has several registries that describe data which wants representation in the WPGraphQL schema, and today each is handled differently (or not at all):
register_meta() (post, term, user, comment meta): no bridge at all. The supported paths are register_graphql_field() or WPGraphQL for ACF. The long-standing ask is Post, term and user meta #118, which deserves its own RFC.
These are distinct enough that they should be designed, implemented, and tested independently, but they share design questions that should be answered consistently, which is what this tracker is for:
The opt-in convention (show_in_graphql args vs piggybacking show_in_rest)
Mapping stored scalars to richer GraphQL types (enums, object types, connections, e.g. defaultCategory as a Category rather than an Int)
WordPress has several registries that describe data which wants representation in the WPGraphQL schema, and today each is handled differently (or not at all):
register_setting()(site settings): auto-mapped as flat scalars fromget_registered_settings(). No richer typing, no way to express "this int is actually a Category" (Handle default category from wordpress #1887), no models or access control beyond the group level. Tracked in Options should be treated as Models / Nodes #2459 (settings as Models / Nodes).adminColor,hasRichEditingEnabled, etc. in v2.9.0). A centralized registry for mapping them is the subject of RFC feat: RFC — Centralized registry for mapping user options to the GraphQL schema #3562.register_meta()(post, term, user, comment meta): no bridge at all. The supported paths areregister_graphql_field()or WPGraphQL for ACF. The long-standing ask is Post, term and user meta #118, which deserves its own RFC.These are distinct enough that they should be designed, implemented, and tested independently, but they share design questions that should be answered consistently, which is what this tracker is for:
show_in_graphqlargs vs piggybackingshow_in_rest)defaultCategoryas aCategoryrather than anInt)hasCommentShortcutsEnabled, per the feat: add core user admin preferences fields to User type #3571 discussion)Children
register_setting)register_meta()to schema (needs an RFC)Each child should produce its own RFC or implementation plan; consistency across them gets discussed here.