Skip to content

Conversation

@jasonbahl
Copy link
Collaborator

@jasonbahl jasonbahl commented Apr 11, 2025

Description

This PR focuses on updating descriptions for Enum types to be more clear.

New Features:

Updates:

Most of the changes in this PR are updates to the descriptions of Enum Types and other fields.

Here's a preview of the before/after:

Type / Field Name Description Before Description After
AvatarRatingEnum What rating to display avatars up to. Accepts G, PG, R, X, and are judged in that order. Default is the value of the avatar_rating option Content rating filter for user avatars. Determines the maximum maturity level of avatars to display, following standard content rating classifications (G, PG, R, X).
Category The category type A taxonomy term that classifies content. Categories support hierarchy and can be used to create a nested structure.
CategoryConnection Connection to category Nodes A paginated collection of category Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of category Nodes
CategoryConnectionEdge Edge between a Node and a connected category Represents a connection to a category. Contains both the category Node and metadata about the relationship.
CategoryConnectionPageInfo Page Info on the connected CategoryConnectionEdge Pagination metadata specific to "CategoryConnectionEdge" collections. Provides cursors and flags for navigating through sets of "CategoryConnectionEdge" Nodes.
CategoryIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific Category. Determines which unique property (global ID, database ID, slug, etc.) is used to locate the Category.
CategoryToAncestorsCategoryConnectionPageInfo Page Info on the "CategoryToAncestorsCategoryConnection" Pagination metadata specific to "CategoryToAncestorsCategoryConnection" collections. Provides cursors and flags for navigating through sets of CategoryToAncestorsCategoryConnection Nodes.
CategoryToCategoryConnectionPageInfo Page Info on the "CategoryToCategoryConnection" Pagination metadata specific to "CategoryToCategoryConnection" collections. Provides cursors and flags for navigating through sets of CategoryToCategoryConnection Nodes.
CategoryToContentNodeConnectionPageInfo Page Info on the "CategoryToContentNodeConnection" Pagination metadata specific to "CategoryToContentNodeConnection" collections. Provides cursors and flags for navigating through sets of CategoryToContentNodeConnection Nodes.
CategoryToPostConnectionPageInfo Page Info on the "CategoryToPostConnection" Pagination metadata specific to "CategoryToPostConnection" collections. Provides cursors and flags for navigating through sets of CategoryToPostConnection Nodes.
Comment A Comment object A response or reaction to content submitted by users. Comments are typically associated with a specific content entry.
CommentConnection Connection to Comment Nodes A paginated collection of Comment Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of Comment Nodes
CommentConnectionEdge Edge between a Node and a connected Comment Represents a connection to a Comment. Contains both the Comment Node and metadata about the relationship.
CommentConnectionPageInfo Page Info on the connected CommentConnectionEdge Pagination metadata specific to "CommentConnectionEdge" collections. Provides cursors and flags for navigating through sets of "CommentConnectionEdge" Nodes.
CommentNodeIdTypeEnum The Type of Identifier used to fetch a single comment node. Default is ID. To be used along with the id field. Identifier types for retrieving a specific comment. Specifies which unique attribute is used to find a particular comment.
CommentStatusEnum The status of the comment object. Moderation state for user comments. Determines whether comments are publicly visible, pending approval, or marked as spam.
CommentToCommentConnectionPageInfo Page Info on the "CommentToCommentConnection" Pagination metadata specific to "CommentToCommentConnection" collections. Provides cursors and flags for navigating through sets of CommentToCommentConnection Nodes.
Commenter The author of a comment A user or guest who has submitted a comment. Provides identification and contact information for the comment author.
CommenterConnectionEdge Edge between a Node and a connected Commenter Represents a connection to a Commenter. Contains both the Commenter Node and metadata about the relationship.
CommentsConnectionOrderbyEnum Options for ordering the connection Sorting attributes for comment collections. Specifies which comment property determines the order of results.
CommentsConnectionOrderbyEnum.COMMENT_DATE Order by date/time timestamp of the comment. Chronological ordering by comment submission date.
CommentsConnectionOrderbyEnum.COMMENT_DATE_GMT Order by GMT timezone date/time timestamp of the comment. Chronological ordering by comment date in UTC/GMT time.
CommentsConnectionOrderbyEnum.COMMENT_ID Order by the globally unique identifier for the comment object Ordering by internal ID (typically reflects creation order).
CommentsConnectionOrderbyEnum.COMMENT_IN Order by the array list of comment IDs listed in the where clause. Preserve custom order of IDs as specified in the query.
CommentsConnectionOrderbyEnum.COMMENT_PARENT Order by the comment parent ID. Ordering by parent comment relationship (threaded discussions).
CommentsConnectionOrderbyEnum.COMMENT_POST_ID Order by the post object ID. Ordering by associated content item ID.
CommentsConnectionOrderbyEnum.COMMENT_TYPE Order by the the type of comment, such as comment, pingback, or trackback. Ordering by comment classification (standard comments, pingbacks, etc.).
CommentsConnectionOrderbyEnum.USER_ID Order by the user ID. Ordering by the user account ID associated with the comment as the comment author.
Connection A plural connection from one Node Type in the Graph to another Node Type, with support for relational data via "edges". A paginated relationship between objects. Supports cursor-based pagination with edges containing relationship metadata and nodes containing the related objects.
ContentNode Nodes used to manage content Base interface for content objects like posts, pages, and media items. Provides common fields available across these content types.
ContentNodeConnection Connection to ContentNode Nodes A paginated collection of ContentNode Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of ContentNode Nodes
ContentNodeConnectionEdge Edge between a Node and a connected ContentNode Represents a connection to a ContentNode. Contains both the ContentNode Node and metadata about the relationship.
ContentNodeConnectionPageInfo Page Info on the connected ContentNodeConnectionEdge Pagination metadata specific to "ContentNodeConnectionEdge" collections. Provides cursors and flags for navigating through sets of "ContentNodeConnectionEdge" Nodes.
ContentNodeIdTypeEnum The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving specific content. Determines which property (global ID, database ID, URI) is used to locate content objects.
ContentNodeToEnqueuedScriptConnectionPageInfo Page Info on the "ContentNodeToEnqueuedScriptConnection" Pagination metadata specific to "ContentNodeToEnqueuedScriptConnection" collections. Provides cursors and flags for navigating through sets of ContentNodeToEnqueuedScriptConnection Nodes.
ContentNodeToEnqueuedStylesheetConnectionPageInfo Page Info on the "ContentNodeToEnqueuedStylesheetConnection" Pagination metadata specific to "ContentNodeToEnqueuedStylesheetConnection" collections. Provides cursors and flags for navigating through sets of ContentNodeToEnqueuedStylesheetConnection Nodes.
ContentTemplate The template assigned to a node of content A layout pattern that can help inform how content might be structured and displayed. Templates can define specialized layouts for different types of content.
ContentTypeConnection Connection to ContentType Nodes A paginated collection of ContentType Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of ContentType Nodes
ContentTypeConnectionEdge Edge between a Node and a connected ContentType Represents a connection to a ContentType. Contains both the ContentType Node and metadata about the relationship.
ContentTypeConnectionPageInfo Page Info on the connected ContentTypeConnectionEdge Pagination metadata specific to "ContentTypeConnectionEdge" collections. Provides cursors and flags for navigating through sets of "ContentTypeConnectionEdge" Nodes.
ContentTypeEnum Allowed Content Types Available content entity types that can be queried or filtered. Identifies the primary content structures available in the system.
ContentTypeIdTypeEnum The Type of Identifier used to fetch a single Content Type node. To be used along with the id field. Default is ID. Identifier types for retrieving a specific content type definition. Determines whether to look up content types by ID or name.
ContentTypeToContentNodeConnectionPageInfo Page Info on the "ContentTypeToContentNodeConnection" Pagination metadata specific to "ContentTypeToContentNodeConnection" collections. Provides cursors and flags for navigating through sets of ContentTypeToContentNodeConnection Nodes.
ContentTypeToTaxonomyConnectionPageInfo Page Info on the "ContentTypeToTaxonomyConnection" Pagination metadata specific to "ContentTypeToTaxonomyConnection" collections. Provides cursors and flags for navigating through sets of ContentTypeToTaxonomyConnection Nodes.
DatabaseIdentifier Object that can be identified with a Database ID An object that has a unique numeric identifier in the database. Provides consistent access to the database ID across different object types.
Edge Relational context between connected nodes Represents a connection between two objects. Contains both the related object (node) and metadata about the relationship (cursor).
EnqueuedAsset Asset enqueued by the CMS A script or stylesheet resource that should be loaded by the client. Contains information about the resource's location, dependencies, and loading behavior.
EnqueuedScriptConnection Connection to EnqueuedScript Nodes A paginated collection of EnqueuedScript Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of EnqueuedScript Nodes
EnqueuedScriptConnectionEdge Edge between a Node and a connected EnqueuedScript Represents a connection to a EnqueuedScript. Contains both the EnqueuedScript Node and metadata about the relationship.
EnqueuedScriptConnectionPageInfo Page Info on the connected EnqueuedScriptConnectionEdge Pagination metadata specific to "EnqueuedScriptConnectionEdge" collections. Provides cursors and flags for navigating through sets of "EnqueuedScriptConnectionEdge" Nodes.
EnqueuedStylesheetConnection Connection to EnqueuedStylesheet Nodes A paginated collection of EnqueuedStylesheet Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of EnqueuedStylesheet Nodes
EnqueuedStylesheetConnectionEdge Edge between a Node and a connected EnqueuedStylesheet Represents a connection to a EnqueuedStylesheet. Contains both the EnqueuedStylesheet Node and metadata about the relationship.
EnqueuedStylesheetConnectionPageInfo Page Info on the connected EnqueuedStylesheetConnectionEdge Pagination metadata specific to "EnqueuedStylesheetConnectionEdge" collections. Provides cursors and flags for navigating through sets of "EnqueuedStylesheetConnectionEdge" Nodes.
HierarchicalContentNode Content node with hierarchical (parent/child) relationships Content that can be organized in a parent-child structure. Provides fields for navigating up and down the hierarchy and maintaining structured relationships.
HierarchicalContentNodeToContentNodeAncestorsConnectionPageInfo Page Info on the "HierarchicalContentNodeToContentNodeAncestorsConnection" Pagination metadata specific to "HierarchicalContentNodeToContentNodeAncestorsConnection" collections. Provides cursors and flags for navigating through sets of HierarchicalContentNodeToContentNodeAncestorsConnection Nodes.
HierarchicalContentNodeToContentNodeChildrenConnectionPageInfo Page Info on the "HierarchicalContentNodeToContentNodeChildrenConnection" Pagination metadata specific to "HierarchicalContentNodeToContentNodeChildrenConnection" collections. Provides cursors and flags for navigating through sets of HierarchicalContentNodeToContentNodeChildrenConnection Nodes.
HierarchicalNode Node with hierarchical (parent/child) relationships Content that can exist in a parent-child structure. Provides fields for navigating up (parent) and down (children) through the hierarchy.
MediaItem The mediaItem type Represents uploaded media, including images, videos, documents, and audio files.
MediaItemConnection Connection to mediaItem Nodes A paginated collection of mediaItem Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of mediaItem Nodes
MediaItemConnectionEdge Edge between a Node and a connected mediaItem Represents a connection to a mediaItem. Contains both the mediaItem Node and metadata about the relationship.
MediaItemConnectionPageInfo Page Info on the connected MediaItemConnectionEdge Pagination metadata specific to "MediaItemConnectionEdge" collections. Provides cursors and flags for navigating through sets of "MediaItemConnectionEdge" Nodes.
MediaItemIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific MediaItem. Specifies which unique attribute is used to find an exact MediaItem.
MediaItemSizeEnum The size of the media item object. Predefined image size variations. Represents the standard image dimensions available for media assets.
MediaItemSizeEnum.LARGE MediaItem with the large size Large image preview suitable for detail views. (1024x1024)
MediaItemSizeEnum.MEDIUM MediaItem with the medium size Medium image preview typically suitable for listings and detail views. (300x300)
MediaItemSizeEnum.MEDIUM_LARGE MediaItem with the medium_large size Medium-to-large image preview suitable for listings and detail views. (768x0)
MediaItemSizeEnum.THUMBNAIL MediaItem with the thumbnail size Small image preview suitable for thumbnails and listings. (150x150)
MediaItemSizeEnum._1536X1536 MediaItem with the 1536x1536 size Custom Image Size. (1536x1536)
MediaItemSizeEnum._2048X2048 MediaItem with the 2048x2048 size Custom Image Size. (2048x2048)
MediaItemStatusEnum The status of the media item object. Publication status for media items. Controls whether media is publicly accessible, private, or in another state.
MediaItemStatusEnum.AUTO_DRAFT Objects with the auto-draft status Automatically created media that has not been finalized
MediaItemStatusEnum.INHERIT Objects with the inherit status Media that inherits its publication status from the parent content
MediaItemStatusEnum.PRIVATE Objects with the private status Media visible only to users with appropriate permissions
MediaItemStatusEnum.TRASH Objects with the trash status Media marked for deletion but still recoverable
MediaItemToCommentConnectionPageInfo Page Info on the "MediaItemToCommentConnection" Pagination metadata specific to "MediaItemToCommentConnection" collections. Provides cursors and flags for navigating through sets of MediaItemToCommentConnection Nodes.
Menu Menus are the containers for navigation items. Menus can be assigned to menu locations, which are typically registered by the active theme. Collections of navigation links. Menus can be assigned to designated locations and used to build site navigation structures.
MenuConnection Connection to Menu Nodes A paginated collection of Menu Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of Menu Nodes
MenuConnectionEdge Edge between a Node and a connected Menu Represents a connection to a Menu. Contains both the Menu Node and metadata about the relationship.
MenuConnectionPageInfo Page Info on the connected MenuConnectionEdge Pagination metadata specific to "MenuConnectionEdge" collections. Provides cursors and flags for navigating through sets of "MenuConnectionEdge" Nodes.
MenuItemConnection Connection to MenuItem Nodes A paginated collection of MenuItem Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of MenuItem Nodes
MenuItemConnectionEdge Edge between a Node and a connected MenuItem Represents a connection to a MenuItem. Contains both the MenuItem Node and metadata about the relationship.
MenuItemConnectionPageInfo Page Info on the connected MenuItemConnectionEdge Pagination metadata specific to "MenuItemConnectionEdge" collections. Provides cursors and flags for navigating through sets of "MenuItemConnectionEdge" Nodes.
MenuItemLinkable Nodes that can be linked to as Menu Items Content that can be referenced by navigation menu items. Provides the essential fields needed to create links within navigation structures.
MenuItemLinkableConnectionEdge Edge between a Node and a connected MenuItemLinkable Represents a connection to a MenuItemLinkable. Contains both the MenuItemLinkable Node and metadata about the relationship.
MenuItemNodeIdTypeEnum The Type of Identifier used to fetch a single node. Default is ID. To be used along with the id field. Identifier types for retrieving a specific menu item. Determines whether to look up menu items by global ID or database ID.
MenuItemToMenuItemConnectionPageInfo Page Info on the "MenuItemToMenuItemConnection" Pagination metadata specific to "MenuItemToMenuItemConnection" collections. Provides cursors and flags for navigating through sets of MenuItemToMenuItemConnection Nodes.
MenuLocationEnum Registered menu locations Designated areas where navigation menus can be displayed. Represents the named regions in the interface where menus can be assigned.
MenuNodeIdTypeEnum The Type of Identifier used to fetch a single node. Default is ID. To be used along with the id field. Identifier types for retrieving a specific navigation menu. Specifies which property (ID, name, location) is used to locate a particular menu.
MenuToMenuItemConnectionPageInfo Page Info on the "MenuToMenuItemConnection" Pagination metadata specific to "MenuToMenuItemConnection" collections. Provides cursors and flags for navigating through sets of MenuToMenuItemConnection Nodes.
MimeTypeEnum The MimeType of the object Media file type classification based on MIME standards. Used to identify and filter media items by their format and content type.
Node An object with an ID An object with a globally unique identifier. All objects that can be identified by a unique ID implement this interface.
NodeWithAuthor A node that can have an author assigned to it Content that can be attributed to a specific user. Provides fields for accessing the author's information and establishing content ownership.
NodeWithComments A node that can have comments associated with it Content that can receive and display user-submitted comments. Provides fields for accessing comment counts and managing comment status.
NodeWithContentEditor A node that supports the content editor Content that has a main body field which can contain formatted text and media. Provides access to both raw (with appropriate permissions) and rendered versions of the content.
NodeWithExcerpt A node that can have an excerpt A node which provides an excerpt field, which is a condensed summary of the main content. Excerpts can be manually created or automatically generated and are often used in content listings and search results.
NodeWithFeaturedImage A node that can have a featured image set Content that can have a primary image attached. This image is typically used for thumbnails, social sharing, and prominent display in the presentation layer.
NodeWithPageAttributes A node that can have page attributes Content that supports ordering metadata. Includes a menu order field which can be used for custom sorting in navigation menus and other ordered collections.
NodeWithRevisions A node that can have revisions Content that maintains a history of changes. Provides access to previous versions of the content and the ability to restore earlier revisions.
NodeWithTemplate A node that can have a template associated with it Content that provides template metadata. The template can help inform how the content is might be structured, styled, and presented to the user.
NodeWithTitle A node that NodeWith a title Content with a dedicated title field. The title typically serves as the main heading and identifier for the content.
NodeWithTrackbacks A node that can have trackbacks and pingbacks Content that supports cross-site notifications when linked to by other sites. Includes fields for pingback status and linked URLs.
OneToOneConnection A singular connection from one Node to another, with support for relational data on the "edge" of the connection. A direct one-to-one relationship between objects. Unlike plural connections, this represents a single related object rather than a collection.
OrderEnum The cardinality of the connection order Sort direction for ordered results. Determines whether items are returned in ascending or descending order.
OrderEnum.ASC Sort the query result set in an ascending order Results ordered from lowest to highest values (i.e. A-Z, oldest-newest)
OrderEnum.DESC Sort the query result set in a descending order Results ordered from highest to lowest values (i.e. Z-A, newest-oldest)
Page The page type A standalone content entry generally used for static, non-chronological content such as "About Us" or "Contact" pages.
PageConnection Connection to page Nodes A paginated collection of page Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of page Nodes
PageConnectionEdge Edge between a Node and a connected page Represents a connection to a page. Contains both the page Node and metadata about the relationship.
PageConnectionPageInfo Page Info on the connected PageConnectionEdge Pagination metadata specific to "PageConnectionEdge" collections. Provides cursors and flags for navigating through sets of "PageConnectionEdge" Nodes.
PageIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific Page. Specifies which unique attribute is used to find an exact Page.
PageInfo Information about pagination in a connection. Metadata for cursor-based pagination. Provides cursors for continuing pagination and boolean flags indicating if more items exist in either direction.
PageToCommentConnectionPageInfo Page Info on the "PageToCommentConnection" Pagination metadata specific to "PageToCommentConnection" collections. Provides cursors and flags for navigating through sets of PageToCommentConnection Nodes.
PageToRevisionConnectionPageInfo Page Info on the "PageToRevisionConnection" Pagination metadata specific to "PageToRevisionConnection" collections. Provides cursors and flags for navigating through sets of PageToRevisionConnection Nodes.
PluginConnection Connection to Plugin Nodes A paginated collection of Plugin Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of Plugin Nodes
PluginConnectionEdge Edge between a Node and a connected Plugin Represents a connection to a Plugin. Contains both the Plugin Node and metadata about the relationship.
PluginConnectionPageInfo Page Info on the connected PluginConnectionEdge Pagination metadata specific to "PluginConnectionEdge" collections. Provides cursors and flags for navigating through sets of "PluginConnectionEdge" Nodes.
PluginStatusEnum The status of the WordPress plugin. Operational status of a plugin. Indicates whether a plugin is active, inactive, or in another state that affects its functionality.
Post The post type A chronological content entry typically used for blog posts, news articles, or similar date-based content.
PostConnection Connection to post Nodes A paginated collection of post Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of post Nodes
PostConnectionEdge Edge between a Node and a connected post Represents a connection to a post. Contains both the post Node and metadata about the relationship.
PostConnectionPageInfo Page Info on the connected PostConnectionEdge Pagination metadata specific to "PostConnectionEdge" collections. Provides cursors and flags for navigating through sets of "PostConnectionEdge" Nodes.
PostFormat The postFormat type A standardized classification system for content presentation styles. These formats can be used to display content differently based on type, such as "standard", "gallery", "video", etc.
PostFormatConnection Connection to postFormat Nodes A paginated collection of postFormat Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of postFormat Nodes
PostFormatConnectionEdge Edge between a Node and a connected postFormat Represents a connection to a postFormat. Contains both the postFormat Node and metadata about the relationship.
PostFormatConnectionPageInfo Page Info on the connected PostFormatConnectionEdge Pagination metadata specific to "PostFormatConnectionEdge" collections. Provides cursors and flags for navigating through sets of "PostFormatConnectionEdge" Nodes.
PostFormatIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific PostFormat. Determines which unique property (global ID, database ID, slug, etc.) is used to locate the PostFormat.
PostFormatToContentNodeConnectionPageInfo Page Info on the "PostFormatToContentNodeConnection" Pagination metadata specific to "PostFormatToContentNodeConnection" collections. Provides cursors and flags for navigating through sets of PostFormatToContentNodeConnection Nodes.
PostFormatToPostConnectionPageInfo Page Info on the "PostFormatToPostConnection" Pagination metadata specific to "PostFormatToPostConnection" collections. Provides cursors and flags for navigating through sets of PostFormatToPostConnection Nodes.
PostIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific Post. Specifies which unique attribute is used to find an exact Post.
PostObjectFieldFormatEnum The format of post field data. Content field rendering options. Determines whether content fields are returned as raw data or with applied formatting and transformations. Default is RENDERED.
PostObjectFieldFormatEnum.RAW Provide the field value directly from database. Null on unauthenticated requests. Unprocessed content exactly as stored in the database, requires appropriate permissions.
PostObjectFieldFormatEnum.RENDERED Provide the field value as rendered by WordPress. Default. Content with all formatting and transformations applied, ready for display.
PostObjectsConnectionDateColumnEnum The column to use when filtering by date Date field selectors for content filtering. Specifies which date attribute (creation date, modification date) should be used for date-based queries.
PostObjectsConnectionOrderbyEnum Field to order the connection by Content sorting attributes for post-type objects. Identifies which content property should be used to determine result order.
PostObjectsConnectionOrderbyEnum.AUTHOR Order by author Ordering by content author (typically by author name).
PostObjectsConnectionOrderbyEnum.COMMENT_COUNT Order by the number of comments it has acquired Ordering by popularity based on number of comments.
PostObjectsConnectionOrderbyEnum.DATE Order by publish date Chronological ordering by publication date.
PostObjectsConnectionOrderbyEnum.IN Preserve the ID order given in the IN array Maintain custom order of IDs exactly as specified in the query with the IN field.
PostObjectsConnectionOrderbyEnum.MENU_ORDER Order by the menu order value Ordering by manually defined sort position.
PostObjectsConnectionOrderbyEnum.MODIFIED Order by last modified date Chronological ordering by modified date.
PostObjectsConnectionOrderbyEnum.NAME_IN Preserve slug order given in the NAME_IN array Maintain custom order of IDs exactly as specified in the query with the NAME_IN field.
PostObjectsConnectionOrderbyEnum.PARENT Order by parent ID Ordering by parent-child relationship in hierarchical content.
PostObjectsConnectionOrderbyEnum.SLUG Order by slug Alphabetical ordering by URL-friendly name.
PostObjectsConnectionOrderbyEnum.TITLE Order by title Alphabetical ordering by content title
PostStatusEnum The status of the object. Publishing status that controls the visibility and editorial state of content. Determines whether content is published, pending review, in draft state, or private.
PostStatusEnum.AUTO_DRAFT Objects with the auto-draft status Automatically saved content that has not been manually saved
PostStatusEnum.DRAFT Objects with the draft status Content that is saved but not yet published or visible to the public
PostStatusEnum.INHERIT Objects with the inherit status Content that inherits its status from a parent object
PostStatusEnum.PENDING Objects with the pending status Content awaiting review before publication
PostStatusEnum.PRIVATE Objects with the private status Content only visible to authorized users with appropriate permissions
PostStatusEnum.PUBLISH Objects with the publish status Content that is publicly visible to all visitors
PostStatusEnum.TRASH Objects with the trash status Content marked for deletion but still recoverable
PostToCategoryConnectionPageInfo Page Info on the "PostToCategoryConnection" Pagination metadata specific to "PostToCategoryConnection" collections. Provides cursors and flags for navigating through sets of PostToCategoryConnection Nodes.
PostToCommentConnectionPageInfo Page Info on the "PostToCommentConnection" Pagination metadata specific to "PostToCommentConnection" collections. Provides cursors and flags for navigating through sets of PostToCommentConnection Nodes.
PostToPostConnectionPageInfo Page Info on the "PostToPostConnection" Pagination metadata specific to "PostToPostConnection" collections. Provides cursors and flags for navigating through sets of PostToPostConnection Nodes.
PostToPostFormatConnectionPageInfo Page Info on the "PostToPostFormatConnection" Pagination metadata specific to "PostToPostFormatConnection" collections. Provides cursors and flags for navigating through sets of PostToPostFormatConnection Nodes.
PostToRevisionConnectionPageInfo Page Info on the "PostToRevisionConnection" Pagination metadata specific to "PostToRevisionConnection" collections. Provides cursors and flags for navigating through sets of PostToRevisionConnection Nodes.
PostToTagConnectionPageInfo Page Info on the "PostToTagConnection" Pagination metadata specific to "PostToTagConnection" collections. Provides cursors and flags for navigating through sets of PostToTagConnection Nodes.
PostToTermNodeConnectionPageInfo Page Info on the "PostToTermNodeConnection" Pagination metadata specific to "PostToTermNodeConnection" collections. Provides cursors and flags for navigating through sets of PostToTermNodeConnection Nodes.
Previewable Nodes that can be seen in a preview (unpublished) state. Content that supports a draft preview mode. Allows viewing unpublished changes before they are made publicly available. Previewing unpublished changes requires appropriate permissions.
RelationEnum The logical relation between each item in the array when there are more than one. Logical operators for filter conditions. Determines whether multiple filtering criteria should be combined with AND (all must match) or OR (any can match).
RelationEnum.AND The logical AND condition returns true if both operands are true, otherwise, it returns false. All conditions must match (more restrictive filtering)
RelationEnum.OR The logical OR condition returns false if both operands are false, otherwise, it returns true. Any condition can match (more inclusive filtering)
RootQueryToCategoryConnectionPageInfo Page Info on the "RootQueryToCategoryConnection" Pagination metadata specific to "RootQueryToCategoryConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToCategoryConnection Nodes.
RootQueryToCommentConnectionPageInfo Page Info on the "RootQueryToCommentConnection" Pagination metadata specific to "RootQueryToCommentConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToCommentConnection Nodes.
RootQueryToContentNodeConnectionPageInfo Page Info on the "RootQueryToContentNodeConnection" Pagination metadata specific to "RootQueryToContentNodeConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToContentNodeConnection Nodes.
RootQueryToContentTypeConnectionPageInfo Page Info on the "RootQueryToContentTypeConnection" Pagination metadata specific to "RootQueryToContentTypeConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToContentTypeConnection Nodes.
RootQueryToEnqueuedScriptConnectionPageInfo Page Info on the "RootQueryToEnqueuedScriptConnection" Pagination metadata specific to "RootQueryToEnqueuedScriptConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToEnqueuedScriptConnection Nodes.
RootQueryToEnqueuedStylesheetConnectionPageInfo Page Info on the "RootQueryToEnqueuedStylesheetConnection" Pagination metadata specific to "RootQueryToEnqueuedStylesheetConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToEnqueuedStylesheetConnection Nodes.
RootQueryToMediaItemConnectionPageInfo Page Info on the "RootQueryToMediaItemConnection" Pagination metadata specific to "RootQueryToMediaItemConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToMediaItemConnection Nodes.
RootQueryToMenuConnectionPageInfo Page Info on the "RootQueryToMenuConnection" Pagination metadata specific to "RootQueryToMenuConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToMenuConnection Nodes.
RootQueryToMenuItemConnectionPageInfo Page Info on the "RootQueryToMenuItemConnection" Pagination metadata specific to "RootQueryToMenuItemConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToMenuItemConnection Nodes.
RootQueryToPageConnectionPageInfo Page Info on the "RootQueryToPageConnection" Pagination metadata specific to "RootQueryToPageConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToPageConnection Nodes.
RootQueryToPluginConnectionPageInfo Page Info on the "RootQueryToPluginConnection" Pagination metadata specific to "RootQueryToPluginConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToPluginConnection Nodes.
RootQueryToPostConnectionPageInfo Page Info on the "RootQueryToPostConnection" Pagination metadata specific to "RootQueryToPostConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToPostConnection Nodes.
RootQueryToPostFormatConnectionPageInfo Page Info on the "RootQueryToPostFormatConnection" Pagination metadata specific to "RootQueryToPostFormatConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToPostFormatConnection Nodes.
RootQueryToRevisionsConnectionPageInfo Page Info on the "RootQueryToRevisionsConnection" Pagination metadata specific to "RootQueryToRevisionsConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToRevisionsConnection Nodes.
RootQueryToTagConnectionPageInfo Page Info on the "RootQueryToTagConnection" Pagination metadata specific to "RootQueryToTagConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToTagConnection Nodes.
RootQueryToTaxonomyConnectionPageInfo Page Info on the "RootQueryToTaxonomyConnection" Pagination metadata specific to "RootQueryToTaxonomyConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToTaxonomyConnection Nodes.
RootQueryToTermNodeConnectionPageInfo Page Info on the "RootQueryToTermNodeConnection" Pagination metadata specific to "RootQueryToTermNodeConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToTermNodeConnection Nodes.
RootQueryToThemeConnectionPageInfo Page Info on the "RootQueryToThemeConnection" Pagination metadata specific to "RootQueryToThemeConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToThemeConnection Nodes.
RootQueryToUserConnectionPageInfo Page Info on the "RootQueryToUserConnection" Pagination metadata specific to "RootQueryToUserConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToUserConnection Nodes.
RootQueryToUserRoleConnectionPageInfo Page Info on the "RootQueryToUserRoleConnection" Pagination metadata specific to "RootQueryToUserRoleConnection" collections. Provides cursors and flags for navigating through sets of RootQueryToUserRoleConnection Nodes.
ScriptLoadingGroupLocationEnum Location in the document where the script to be loaded Script insertion positions in the document structure. Determines whether scripts are placed in the document head or before the closing body tag.
ScriptLoadingGroupLocationEnum.FOOTER A script to be loaded in document at right before the closing <body> tag Delayed loading at end of document, right before the closing <body> tag. (allows content to render first)
ScriptLoadingGroupLocationEnum.HEADER A script to be loaded in document <head> tag Early loading in document <head> tag. (executes before page content renders)
ScriptLoadingStrategyEnum The strategy to use when loading the script Script loading optimization attributes. Controls browser behavior for script loading to improve page performance (async or defer).
ScriptLoadingStrategyEnum.ASYNC Use the script async attribute Load script in parallel with page rendering, executing as soon as downloaded
ScriptLoadingStrategyEnum.DEFER Use the script defer attribute Download script in parallel but defer execution until page is fully parsed
Tag The tag type A taxonomy term used to organize and classify content. Tags do not have a hierarchy and are generally used for more specific classifications.
TagConnection Connection to tag Nodes A paginated collection of tag Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of tag Nodes
TagConnectionEdge Edge between a Node and a connected tag Represents a connection to a tag. Contains both the tag Node and metadata about the relationship.
TagConnectionPageInfo Page Info on the connected TagConnectionEdge Pagination metadata specific to "TagConnectionEdge" collections. Provides cursors and flags for navigating through sets of "TagConnectionEdge" Nodes.
TagIdType The Type of Identifier used to fetch a single resource. Default is ID. Identifier types for retrieving a specific Tag. Determines which unique property (global ID, database ID, slug, etc.) is used to locate the Tag.
TagToContentNodeConnectionPageInfo Page Info on the "TagToContentNodeConnection" Pagination metadata specific to "TagToContentNodeConnection" collections. Provides cursors and flags for navigating through sets of TagToContentNodeConnection Nodes.
TagToPostConnectionPageInfo Page Info on the "TagToPostConnection" Pagination metadata specific to "TagToPostConnection" collections. Provides cursors and flags for navigating through sets of TagToPostConnection Nodes.
TaxonomyConnection Connection to Taxonomy Nodes A paginated collection of Taxonomy Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of Taxonomy Nodes
TaxonomyConnectionEdge Edge between a Node and a connected Taxonomy Represents a connection to a Taxonomy. Contains both the Taxonomy Node and metadata about the relationship.
TaxonomyConnectionPageInfo Page Info on the connected TaxonomyConnectionEdge Pagination metadata specific to "TaxonomyConnectionEdge" collections. Provides cursors and flags for navigating through sets of "TaxonomyConnectionEdge" Nodes.
TaxonomyEnum Allowed taxonomies Available classification systems for organizing content. Identifies the different taxonomy types that can be used for content categorization.
TaxonomyIdTypeEnum The Type of Identifier used to fetch a single Taxonomy node. To be used along with the id field. Default is ID. Identifier types for retrieving a taxonomy definition. Determines whether to look up taxonomies by ID or name.
TaxonomyToContentTypeConnectionPageInfo Page Info on the "TaxonomyToContentTypeConnection" Pagination metadata specific to "TaxonomyToContentTypeConnection" collections. Provides cursors and flags for navigating through sets of TaxonomyToContentTypeConnection Nodes.
TaxonomyToTermNodeConnectionPageInfo Page Info on the "TaxonomyToTermNodeConnection" Pagination metadata specific to "TaxonomyToTermNodeConnection" collections. Provides cursors and flags for navigating through sets of TaxonomyToTermNodeConnection Nodes.
TermNode Terms are nodes within a Taxonomy, used to group and relate other nodes. Base interface for taxonomy terms such as categories and tags. Terms are used to organize and classify content.
TermNodeConnection Connection to TermNode Nodes A paginated collection of TermNode Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of TermNode Nodes
TermNodeConnectionEdge Edge between a Node and a connected TermNode Represents a connection to a TermNode. Contains both the TermNode Node and metadata about the relationship.
TermNodeConnectionPageInfo Page Info on the connected TermNodeConnectionEdge Pagination metadata specific to "TermNodeConnectionEdge" collections. Provides cursors and flags for navigating through sets of "TermNodeConnectionEdge" Nodes.
TermNodeToEnqueuedScriptConnectionPageInfo Page Info on the "TermNodeToEnqueuedScriptConnection" Pagination metadata specific to "TermNodeToEnqueuedScriptConnection" collections. Provides cursors and flags for navigating through sets of TermNodeToEnqueuedScriptConnection Nodes.
TermNodeToEnqueuedStylesheetConnectionPageInfo Page Info on the "TermNodeToEnqueuedStylesheetConnection" Pagination metadata specific to "TermNodeToEnqueuedStylesheetConnection" collections. Provides cursors and flags for navigating through sets of TermNodeToEnqueuedStylesheetConnection Nodes.
TermObjectsConnectionOrderbyEnum Options for ordering the connection by Sorting attributes for taxonomy term collections. Determines which property of taxonomy terms is used for ordering results.
TermObjectsConnectionOrderbyEnum.COUNT Order the connection by item count. Ordering by number of associated content items.
TermObjectsConnectionOrderbyEnum.DESCRIPTION Order the connection by description. Alphabetical ordering by term description text.
TermObjectsConnectionOrderbyEnum.NAME Order the connection by name. Alphabetical ordering by term name.
TermObjectsConnectionOrderbyEnum.SLUG Order the connection by slug. Alphabetical ordering by URL-friendly name.
TermObjectsConnectionOrderbyEnum.TERM_GROUP Order the connection by term group. Ordering by assigned term grouping value.
TermObjectsConnectionOrderbyEnum.TERM_ID Order the connection by term id. Ordering by internal identifier.
TermObjectsConnectionOrderbyEnum.TERM_ORDER Order the connection by term order. Ordering by manually defined sort position.
ThemeConnection Connection to Theme Nodes A paginated collection of Theme Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of Theme Nodes
ThemeConnectionEdge Edge between a Node and a connected Theme Represents a connection to a Theme. Contains both the Theme Node and metadata about the relationship.
ThemeConnectionPageInfo Page Info on the connected ThemeConnectionEdge Pagination metadata specific to "ThemeConnectionEdge" collections. Provides cursors and flags for navigating through sets of "ThemeConnectionEdge" Nodes.
UniformResourceIdentifiable Any node that has a URI An interface for content that can be accessed via a unique URI/URL path. Implemented by content types that have their own permalinks.
User A User object A registered user account. Users can be assigned roles, author content, and have various capabilities within the site.
UserConnection Connection to User Nodes A paginated collection of User Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of User Nodes
UserConnectionEdge Edge between a Node and a connected User Represents a connection to a User. Contains both the User Node and metadata about the relationship.
UserConnectionPageInfo Page Info on the connected UserConnectionEdge Pagination metadata specific to "UserConnectionEdge" collections. Provides cursors and flags for navigating through sets of "UserConnectionEdge" Nodes.
UserNodeIdTypeEnum The Type of Identifier used to fetch a single User node. To be used along with the id field. Default is ID. Identifier types for retrieving a specific user. Determines whether to look up users by ID, email, username, or other unique properties.
UserRoleConnection Connection to UserRole Nodes A paginated collection of UserRole Nodes, Supports cursor-based pagination and filtering to efficiently retrieve sets of UserRole Nodes
UserRoleConnectionEdge Edge between a Node and a connected UserRole Represents a connection to a UserRole. Contains both the UserRole Node and metadata about the relationship.
UserRoleConnectionPageInfo Page Info on the connected UserRoleConnectionEdge Pagination metadata specific to "UserRoleConnectionEdge" collections. Provides cursors and flags for navigating through sets of "UserRoleConnectionEdge" Nodes.
UserRoleEnum Names of available user roles Permission levels for user accounts. Defines the standard access levels that control what actions users can perform within the system.
UserToCommentConnectionPageInfo Page Info on the "UserToCommentConnection" Pagination metadata specific to "UserToCommentConnection" collections. Provides cursors and flags for navigating through sets of UserToCommentConnection Nodes.
UserToEnqueuedScriptConnectionPageInfo Page Info on the "UserToEnqueuedScriptConnection" Pagination metadata specific to "UserToEnqueuedScriptConnection" collections. Provides cursors and flags for navigating through sets of UserToEnqueuedScriptConnection Nodes.
UserToEnqueuedStylesheetConnectionPageInfo Page Info on the "UserToEnqueuedStylesheetConnection" Pagination metadata specific to "UserToEnqueuedStylesheetConnection" collections. Provides cursors and flags for navigating through sets of UserToEnqueuedStylesheetConnection Nodes.
UserToMediaItemConnectionPageInfo Page Info on the "UserToMediaItemConnection" Pagination metadata specific to "UserToMediaItemConnection" collections. Provides cursors and flags for navigating through sets of UserToMediaItemConnection Nodes.
UserToPageConnectionPageInfo Page Info on the "UserToPageConnection" Pagination metadata specific to "UserToPageConnection" collections. Provides cursors and flags for navigating through sets of UserToPageConnection Nodes.
UserToPostConnectionPageInfo Page Info on the "UserToPostConnection" Pagination metadata specific to "UserToPostConnection" collections. Provides cursors and flags for navigating through sets of UserToPostConnection Nodes.
UserToRevisionsConnectionPageInfo Page Info on the "UserToRevisionsConnection" Pagination metadata specific to "UserToRevisionsConnection" collections. Provides cursors and flags for navigating through sets of UserToRevisionsConnection Nodes.
UserToUserRoleConnectionPageInfo Page Info on the "UserToUserRoleConnection" Pagination metadata specific to "UserToUserRoleConnection" collections. Provides cursors and flags for navigating through sets of UserToUserRoleConnection Nodes.
UsersConnectionOrderbyEnum Field to order the connection by User attribute sorting options. Determines which property of user accounts is used for ordering user listings.
UsersConnectionSearchColumnEnum Column used for searching for users. User properties that can be targeted in search operations. Defines which user attributes can be searched when looking for specific users.
WPPageInfo Information about pagination in a connection. Metadata for cursor-based pagination. Provides cursors for continuing pagination and boolean flags indicating if more items exist in either direction.

- add new methods for getting enum descriptions and added new graphql_pre_enum_description filter
@coveralls
Copy link

coveralls commented Apr 11, 2025

Coverage Status

coverage: 82.607% (-0.03%) from 82.64%
when pulling e5a9fe0 on jasonbahl:chore/update-enum-descriptions
into 200dcef on wp-graphql:develop.

Copy link
Collaborator

@justlevine justlevine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand the purpose of this PR.

  • why do we need/want a filter just for the enum descriptions?
  • why is that a pre filter?
  • whats the difference between a description and a default description?
  • why is it a trait?

…PEnumType class

- move switch statements inline instead of using `get_default_description` method from the trait
* @param string $size Optional. The size to get information for.
* @return array<string, array{width: int, height: int, crop: bool}>|null
*/
protected static function get_image_sizes( $size = '' ): ?array {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function get_image_sizes has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.

@jasonbahl jasonbahl changed the title feat: Add new EnumDescriptionTrait, graphql_pre_enum_description filter, and update Enum descriptions feat: Add new graphql_pre_enum_description filter, and update Enum descriptions Apr 15, 2025
@jasonbahl jasonbahl changed the title feat: Add new graphql_pre_enum_description filter, and update Enum descriptions chore: Update Enum Type descriptions Apr 15, 2025
@jasonbahl
Copy link
Collaborator Author

jasonbahl commented Apr 15, 2025

@justlevine thanks for the review.

I don't understand the purpose of this PR.

  • why do we need/want a filter just for the enum descriptions?
  • why is that a pre filter?
  • whats the difference between a description and a default description?
  • why is it a trait?

As I was working on making descriptions more clear, I realized that a lot of the descriptions might require more context in order for plugins to be able to filter a description should they want to and provide accurate context.

For example, take the MediaItemSize enum.

Value Desc: Before Desc: After
thumbnail MediaItem with the thumbnail size Small image preview suitable for thumbnails and listings. (150x150)
medium MediaItem with the medium size Medium image preview typically suitable for listings and detail views. (300x300)
large MediaItem with the large size Large image preview suitable for detail views. (1024x1024)
... ...

While I think the new descriptions are more clear overall, I do think that some applications will likely want to override these default descriptions with more clarity for their specific intentions for each size.

For example a restaurant website might want to say that any image with xx width should be used for food item listings.

Or a newspaper might say that the image with xx width should be used on the home page.

Or whatever the use case might be, some extra context might be needed for the filter to provide proper response.

In order to provide that level of specificity, a plugin might need additional context to filter the description such as the name of the image size, the height, the width, etc. (or whatever context relevant to the specific Enum Type).

I added the new pre_ filter as an attempt to make it easier to filter the descriptions while providing enough context to the filter to be useful.

Ultimately, I think I over-complicated it, and thanks to your challenge, I decided to scale it back. I've removed the trait as I think ultimately it was applied at too-high of a level anyway.

It was implemented as a trait to make the code a bit easier to share across classes that weren't implementing another parent class. I could have added an abstract class to implement, but this felt simpler at the time, but really I think it ended up being more complicated.

The existing graphql_enum_values filter in WPEnumType.php should provide enough context do do what I was trying to abstract away. One modification I made was to pass $type_name to the filter. Then, each Enum can also pass additional context as needed alongside the value and description of the Enum values, so that calls to the filter can still access additional context, if passed (such as: https://github.com/wp-graphql/wp-graphql/pull/3355/files#diff-5c908fc05cc33f8b06b03d07df41cea1d14c69c16642e650fdcdd7b5a5456ca7R144)

@qlty-cloud-legacy
Copy link

Code Climate has analyzed commit e5a9fe0 and detected 6 issues on this pull request.

Here's the issue category breakdown:

Category Count
Complexity 6

View more on Code Climate.

@jasonbahl jasonbahl changed the title chore: Update Enum Type descriptions feat: Update Enum Type descriptions Apr 17, 2025
@jasonbahl jasonbahl merged commit 90fa8e8 into wp-graphql:develop Apr 17, 2025
37 of 38 checks passed
pull bot pushed a commit to Zezo-Ai/wp-graphql that referenced this pull request Apr 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants