Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jasonbahl/f88020f0d48e785b38ec18c578ea281d to your computer and use it in GitHub Desktop.
Save jasonbahl/f88020f0d48e785b38ec18c578ea281d to your computer and use it in GitHub Desktop.
Register a page siblings connection in WPGraphQL
add_action( 'graphql_register_types', function() {
register_graphql_connection( [
'fromType' => 'Page',
'toType' => 'Page',
'connectionTypeName' => 'PageSiblings',
'fromFieldName' => 'siblings',
'resolve' => function( $page, $args, $context, $info ) {
$parent = $page->parentDatabaseId ?? null;
if ( ! $parent ) {
return null;
}
$resolver = new \WPGraphQL\Data\Connection\PostObjectConnectionResolver( $page, $args, $context, $info );
$resolver->set_query_arg( 'post_parent', $parent );
$resolver->set_query_arg( 'post__not_in', $page->databaseId );
return $resolver->get_connection();
}
]);
} );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment