Bringing the power of GraphQL to BuddyPress.

Overview

WPGraphQL BuddyPress

Bringing the power of GraphQL to BuddyPress.

Docs (soon) • Join Slack

System Requirements

  • PHP >= 7.1
  • WP >= 4.9
  • WPGraphQL >= latest
  • BuddyPress >= latest

Quick Install

  1. Install & activate BuddyPress
  2. Install & activate WPGraphQL
  3. Clone or download the zip of this repository into your WordPress plugin directory & activate the WPGraphQL BuddyPress plugin
  4. (Optional) Install & activate WPGraphQL-JWT-Authentication to add a login mutation that returns a JSON Web Token.
Comments
  • Your requirements could not be resolved to an installable set of packages

    Your requirements could not be resolved to an installable set of packages

    This is my first time executing via ssh, but this is what came back after attempted composer install

    Problem 1 - Installation request for phar-io/manifest 1.0.3 -> satisfiable by phar-io/manifest[1.0.3]. - phar-io/manifest 1.0.3 requires php ^5.6 || ^7.0 -> your PHP version (8.1.3) does not satisfy that requirement. Problem 2 - Installation request for phar-io/version 2.0.1 -> satisfiable by phar-io/version[2.0.1]. - phar-io/version 2.0.1 requires php ^5.6 || ^7.0 -> your PHP version (8.1.3) does not satisfy that requirement. Problem 3 - Installation request for phpunit/php-code-coverage 6.1.4 -> satisfiable by phpunit/php-code-coverage[6.1.4]. - phpunit/php-code-coverage 6.1.4 requires php ^7.1 -> your PHP version (8.1.3) does not satisfy that requirement. Problem 4 - Installation request for phpunit/phpunit 7.5.20 -> satisfiable by phpunit/phpunit[7.5.20]. - phpunit/phpunit 7.5.20 requires php ^7.1 -> your PHP version (8.1.3) does not satisfy that requirement. Problem 5 - Installation request for sebastian/global-state 2.0.0 -> satisfiable by sebastian/global-state[2.0.0]. - sebastian/global-state 2.0.0 requires php ^7.0 -> your PHP version (8.1.3) does not satisfy that requirement. Problem 6 - phpunit/phpunit 7.5.20 requires php ^7.1 -> your PHP version (8.1.3) does not satisfy that requirement. - yoast/phpunit-polyfills 1.0.3 requires phpunit/phpunit ^4.8.36 || ^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0 -> satisfiable by phpunit/phpunit[7.5.20]. - Installation request for yoast/phpunit-polyfills 1.0.3 -> satisfiable by yoast/phpunit-polyfills[1.0.3].

    opened by qrahaman 5
  • Fatal Error on install

    Fatal Error on install

    Love what you are doing here and glad to hear you are coming back to it!

    I tried installing with BuddyBoss (which has all buddypress core included). I'm getting a fatal error:

    2021/04/03 09:42:14 [error] 25#25: *10090 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught Error: Class 'WPGraphQL\Extensions\BuddyPress\TypeRegistry' not found in /www/kinsta/public/insightflowresearchapp/wp-content/plugins/wp-graphql-buddypress-main/wp-graphql-buddypress.php:254 Stack trace: #0 /www/kinsta/public/insightflowresearchapp/wp-content/plugins/wp-graphql-buddypress-main/wp-graphql-buddypress.php(60): WP_GraphQL_BuddyPress->actions() #1 /www/kinsta/public/insightflowresearchapp/wp-content/plugins/wp-graphql-buddypress-main/wp-graphql-buddypress.php(396): WP_GraphQL_BuddyPress::instance() #2 /www/kinsta/public/insightflowresearchapp/wp-includes/class-wp-hook.php(287): wp_graphql_buddypress_init() #3 /www/kinsta/public/insightflowresearchapp/wp-includes/class-wp-hook.php(311): WP_Hook->apply_filters() #4 /www/kinsta/public/insightflowresearchapp/wp-includes/plugin.php(484): WP_Hook->do_action() #5 /www/kinsta/public/insightflowresearchapp/wp-content/plugins/wp-graphql/src/WPGraphQL.php(267): do_action() #6 /www/kinsta/public/insightflowr" while reading response header from upstream, client: 172.18.0.1, server: insightflowresearchapp.local, request: "POST /wp-admin/admin-ajax.php?_fs_blog_admin=true HTTP/2.0", upstream: "fastcgi://172.18.0.3:9002", host: "insightflowresearchapp.local", referrer: "https://insightflowresearchapp.local/wp-admin/admin.php?page=graphiql-ide&operationName=MyQuery&query=query%20MyQuery%20%7B%0A%20%20inLibraries%20%7B%0A%20%20%20%20nodes%20%7B%0A%20%20%20%20%20%20inLibraryId%0A%20%20%20%20%20%20name%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A&variables=null"

    Is it compatible with Buddyboss?

    bug 
    opened by blackge 4
  • BP_XProfile_Group::get_group_ids() call to undefined function

    BP_XProfile_Group::get_group_ids() call to undefined function

    I'm running Buddyboss platform, so this might be an issue with the fork they are running. In the XProfileGroupObjectLoader.php on line 35 the call to BP_XProfile_Group::get_group_ids() is calling a function that doesn't exist. I think it should be calling BP_XProfile_Group::get()

    Here's the error: "errors": [ { "debugMessage": "Call to undefined method BP_XProfile_Group::get_group_ids()", "message": "Internal server error", "extensions": { "category": "internal" }, "locations": [ { "line": 3, "column": 5 } ], "path": [ "user", "xprofileGroups" ],

    opened by blackge 3
  • Is this repo active?

    Is this repo active?

    Hey,

    thank you, for your code! :-)

    I would love to use activities/messages with graphql.

    --

    Does your members-fetch with cursors work? I dont get it, after fetchMore edges is always empty

    opened by peterrobertz 3
  • Bump simple-git from 3.10.0 to 3.15.1

    Bump simple-git from 3.10.0 to 3.15.1

    Bumps simple-git from 3.10.0 to 3.15.1.

    Release notes

    Sourced from simple-git's releases.

    simple-git@3.15.1

    Patch Changes

    • de570ac: Resolves an issue whereby non-strings can be passed into the config switch detector.

    simple-git@3.15.0

    Minor Changes

    • 7746480: Disables the use of inline configuration arguments to prevent unitentionally allowing non-standard remote protocols without explicitly opting in to this practice with the new allowUnsafeProtocolOverride property having been enabled.

    Patch Changes

    • 7746480: - Upgrade repo dependencies - lerna and jest
      • Include node@19 in the test matrix

    simple-git@3.14.1

    Patch Changes

    • 5a2e7e4: Add version parsing support for non-numeric patches (including "built from source" style 1.11.GIT)

    simple-git@3.14.0

    Minor Changes

    • 19029fc: Create the abort plugin to allow cancelling all pending and future tasks.
    • 4259b26: Add .version to return git version information, including whether the git binary is installed.

    simple-git@3.13.0

    Minor Changes

    • 87b0d75: Increase the level of deprecation notices for use of simple-git/promise, which will be fully removed in the next major
    • d0dceda: Allow supplying just one of to/from in the options supplied to git.log

    Patch Changes

    • 6b3e05c: Use shared test utilities bundle in simple-git tests, to enable consistent testing across packages in the future

    simple-git@3.12.0

    Minor Changes

    • bfd652b: Add a new configuration option to enable trimming white-space from the response to git.raw

    simple-git@3.11.0

    Minor Changes

    • 80d54bd: Added fields updated + deleted branch info to fetch response, closes #823

    Patch Changes

    • 75dfcb4: Add prettier configuration and apply formatting throughout.
    Changelog

    Sourced from simple-git's changelog.

    3.15.1

    Patch Changes

    • de570ac: Resolves an issue whereby non-strings can be passed into the config switch detector.

    3.15.0

    Minor Changes

    • 7746480: Disables the use of inline configuration arguments to prevent unitentionally allowing non-standard remote protocols without explicitly opting in to this practice with the new allowUnsafeProtocolOverride property having been enabled.

    Patch Changes

    • 7746480: - Upgrade repo dependencies - lerna and jest
      • Include node@19 in the test matrix

    3.14.1

    Patch Changes

    • 5a2e7e4: Add version parsing support for non-numeric patches (including "built from source" style 1.11.GIT)

    3.14.0

    Minor Changes

    • 19029fc: Create the abort plugin to allow cancelling all pending and future tasks.
    • 4259b26: Add .version to return git version information, including whether the git binary is installed.

    3.13.0

    Minor Changes

    • 87b0d75: Increase the level of deprecation notices for use of simple-git/promise, which will be fully removed in the next major
    • d0dceda: Allow supplying just one of to/from in the options supplied to git.log

    Patch Changes

    • 6b3e05c: Use shared test utilities bundle in simple-git tests, to enable consistent testing across packages in the future

    3.12.0

    Minor Changes

    • bfd652b: Add a new configuration option to enable trimming white-space from the response to git.raw

    3.11.0

    Minor Changes

    ... (truncated)

    Commits
    • c9fc61f Version Packages
    • de570ac Fix/non strings (#867)
    • d4764bf Version Packages
    • 7746480 Chore: bump lerna, jest and create prettier workflow (#862)
    • 6b3c631 Create the unsafe plugin to configure how simple-git treats known potenti...
    • e459622 Version Packages
    • 5a2e7e4 Add version parsing support for non-numeric patches (to include built… (#853)
    • 6460a1f Version Packages
    • 4259b26 Create interface for retrieving git version information (#850)
    • 19029fc Abort plugin (#848)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 1
  • Internal server error on console when running Graphiql after installing wp-graphql-buddypress

    Internal server error on console when running Graphiql after installing wp-graphql-buddypress

    I have run composer install and npm install

    app.js?ver=ed1b92d35860129a50b81d00174fd747:30 Uncaught (in promise) Error: Internal server error at new t (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:37333) at app.js?ver=ed1b92d35860129a50b81d00174fd747:30:76294 at n (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:29683) at app.js?ver=ed1b92d35860129a50b81d00174fd747:30:29608 at new Promise () at Object.then (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:29574) at Object.next (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:29693) at qd (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:6954) at Gd (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:7467) at e.t.next (app.js?ver=ed1b92d35860129a50b81d00174fd747:30:8007)

    I am getting this error on console and the Graphiql could not start

    invalid 
    opened by eba-alemayehu 1
  • Not an Issue

    Not an Issue

    I am looking to create a headless social network and was curious what it means to 'run "composer install"' I am currently using BP and a ton of other plugins to make this work, and will be converting html templates to use as a headless front end. Forgive me as I am new to this 'Headless' system but very excited to do this. my email is extremeappz373@gmail.com

    Thanks Matthew Brown

    invalid 
    opened by brown7477 1
  • This likely means you have cloned WPGraphQL BuddyPress from Github and need to run the command `composer install`

    This likely means you have cloned WPGraphQL BuddyPress from Github and need to run the command `composer install`

    I read that this issue was closed, but I'm having this error message in the WordPress Dashboard:

    WPGraphQL BuddyPress appears to have been installed without its dependencies. It will not work properly until dependencies are installed. This likely means you have cloned WPGraphQL BuddyPress from Github and need to run the command composer install.

    Local installation with Local (Flywheel) Buddypress 10.0.0 WPGraphQL 1.6.12 WPGraphQL BuddyPress 0.0.1-alpha

    PHP 8.0.0 WordPress 5.8.3

    Thank you!

    opened by Xyzbarna 1
  • Blogs Component

    Blogs Component

    Add basic support to the Blogs component:

    • [x] Type
    • blog
    • [x] Field(s)
    • blogBy -- get blog by --- id (Relay ID) --- blogId
    • [x] Field(s) -- Avatar (see #3)
    • [x] Connections
      • [x] RootQuery -> blogs
    • [x] Enums
    • BlogOrderTypeEnum
    • [x] Model
    • Blog
    • [x] Unit tests
    • [x] Check pagination
    • [x] Mutation(s)
    Component: Blogs 
    opened by renatonascalves 1
  • Add the BuddyPress extension to the WP-GraphQL doc site

    Add the BuddyPress extension to the WP-GraphQL doc site

    Add the current working implementation to the parent plugin doc site for visibility: https://github.com/wp-graphql/wp-graphql/tree/master/docs/source/extensions

    https://docs.wpgraphql.com/extensions/wpgraphql-buddypress/

    opened by renatonascalves 1
  • XProfile Component

    XProfile Component

    Add basic support to the XProfile component:

    • [x] Type
    • XProfileGroup
    • XProfileField
    • [x] Field(s)
    • xprofileGroupby -- get XProfile group by --- id (Relay ID) --- groupId
    • xprofileFieldby -- get XProfile field by --- id (Relay ID) --- fieldId
    • [x] Connections
    • RootQuery -> xprofile groups -> group fields
    • XProfileGroup -> fields
    • User -> xprofile groups -> group fields
    • [x] Enums
    • XProfileFieldVisibilityLevelEnum
    • XProfileFieldValueFormatEnum
    • XProfileFieldTypesEnum
    • [x] Model
    • XProfileGroup
    • XProfileField
    • [x] DataLoader
    • XProfileGroupObjectLoader
    • [x] Unit tests
    • [x] Check permissions
    • [x] Check pagination
    • [x] Mutation(s)
      • [x] Create
      • [x] Update
      • [x] Delete
    Component: XProfile 
    opened by renatonascalves 1
  • How to handle avatar upload using grapghql

    How to handle avatar upload using grapghql

    Thanks for the plugin. I am trying to handle avatar upload on react based application. Do you have any example of how the upload request can be made using multipart/form-data method. I am using axios to make the grapghql request.

    opened by mastershas 1
  • Blogs Component Enhancements

    Blogs Component Enhancements

    The Blog type is missing an important information: the latest post. So we can add this so that only the latest post is available or we can get a list of posts from the targered Blog.

    This is related to Multisite, so there is some complexities there.

    • [ ] Connections
    • Blog -> posts
    • Blog -> members - Members of the targerted Blog
    • Blog -> groups - Groups of the targerted Blog
    • Blog -> activities - Activities of the targerted Blog

    Related to #16 and #70

    Component: Blogs 
    opened by renatonascalves 0
  • DUPLICATE_TYPE Error when using alongside WPGraphQL Upload

    DUPLICATE_TYPE Error when using alongside WPGraphQL Upload

    When I have WPGraphQL Upload activated, I'm getting the following error. If I disable it, the error goes away.

      "type": "DUPLICATE_TYPE",
            "message": "You cannot register duplicate Types to the Schema. The Type 'Upload' already exists in the Schema. Make sure to give new Types a unique name.",
            "type_name": "Upload",
    
    opened by blackge 4
Owner
WPGraphQL
An Open Source WordPress plugin that enables a GraphQL API for WordPress sites
WPGraphQL
Makes WP GraphQL's authetication "just work". It does this by customizing the CORS headers.

WP GraphQL CORS The primary purpose of this plugin is to make the WP GraphQL plugin authentication "just work". It does this by allowing you set the C

Funkhaus 86 Jan 5, 2023
Query gutenberg blocks with wp-graphql

WPGraphQL Gutenberg Query gutenberg blocks through wp-graphql Usage Docs Join our community through WpGraphQL Slack Install Requires PHP 7.0+ Requires

null 270 Jan 3, 2023
Enable query locking for WPGraphQL by implementing persisted GraphQL queries.

?? WP GraphQL Lock This plugin enables query locking for WPGraphQL by implementing persisted GraphQL queries. Persisted GraphQL queries allow a GraphQ

Valu Digital 21 Oct 9, 2022
Adds meta data registered via register_meta() to the GraphQL output.

WP GraphQL Meta This plugin is an add-on for the awesome WP GraphQL It builds on top of both WP GraphQL and the REST API. Any meta data you register u

Robert O'Rourke 18 Aug 4, 2021
Offset pagination for WP GraphQL

WP GraphQL Offset Pagination This is an extension for the WPGraphQL plugin for WordPress. It adds basic offset pagination as opposed to the standard C

Daryll Doyle 13 Sep 19, 2022
An WPGraphQL extension that adds SearchWP's query functionality to the GraphQL server

QL Search What is QL Search? An extension that integrates SearchWP into WPGraphQL. Quick Install Install & activate SearchWP v3.1.9+ Install & activat

Funkhaus 11 May 5, 2022
GraphQL API for interacting with Gravity Forms.

?? ?? WPGraphQL for Gravity Forms A WordPress plugin that provides a GraphQL API for interacting with Gravity Forms. Join the WPGraphQL community on S

Harness Software 135 Jan 2, 2023
Rubix Server is a library for bringing your trained Rubix ML models into production.

Rubix Server is a library for bringing your trained Rubix ML models into production. Inference servers are stand-alone services that run on your private or public network and wrap your trained estimator in an API that can be queried locally or over the network in real-time using standard protocols. In addition, the library provides async-compatible client implementations for making queries to the server from your PHP applications.

Rubix 50 Aug 15, 2022
Topshop offers its customers a modern shopping experience by bringing computers, appliances, clothing and many other items at their fingertips.

Topshop offers its customers a modern shopping experience by bringing computers, appliances, clothing and many other items at their fingertips. With just a few clicks, users can create an account, add products to their cart and place their order.

Abhijeet Pitumbur 2 Aug 8, 2022
GraphQL implementation with power of Laravel

Laravel GraphQL Use Facebook GraphQL with Laravel 5.2 >=. It is based on the PHP implementation here. You can find more information about GraphQL in t

Studionet 56 Mar 9, 2022
Transform your WordPress site into a modern GraphQL server: graphql-api.com.

GraphQL API for WordPress Transform your WordPress site into a modern GraphQL server: graphql-api.com. This plugin is the implementation for WordPress

GraphQL API 151 Dec 14, 2022
Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder

PoP PoP is a monorepo containing several projects. The GraphQL API for WordPress plugin GraphQL API for WordPress is a forward-looking and powerful Gr

Leonardo Losoviz 265 Jan 7, 2023
Twill GraphQL provides easy access to query-specific fields from Twill CMS modules and user-defined modules with GraphQL

Twill CMS GraphQL ?? WIP - not stable Twill GraphQL provides easy access to query-specific fields from Twill CMS modules and user-defined modules with

Izet Mulalic 8 Dec 6, 2022
Syntax to query GraphQL through URL params, which grants a GraphQL API the capability to be cached on the server.

Field Query Syntax to query GraphQL through URL params, which grants a GraphQL API the capability to be cached on the server. Install Via Composer com

PoP 4 Jan 7, 2022
Monorepo of the PoP project, including: a server-side component model in PHP, a GraphQL server, a GraphQL API plugin for WordPress, and a website builder

PoP PoP is a monorepo containing several projects. The GraphQL API for WordPress plugin GraphQL API for WordPress is a forward-looking and powerful Gr

Leonardo Losoviz 265 Jan 7, 2023
The power of webpack, distilled for the rest of us.

Introduction Laravel Mix provides a clean, fluent API for defining basic webpack build steps for your applications. Mix supports several common CSS an

Jeffrey Way 5.2k Jan 2, 2023
Simple handler system used to power clients and servers in PHP (this project is no longer used in Guzzle 6+)

RingPHP Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function. RingPHP be used to power HTTP clie

Guzzle 846 Dec 6, 2022
A Laravel Fractal package for building API responses, giving you the power of Fractal with Laravel's elegancy.

Laravel Responder is a package for building API responses, integrating Fractal into Laravel and Lumen. It can transform your data using transformers,

Alexander Tømmerås 776 Dec 25, 2022
The power of webpack, distilled for the rest of us.

Introduction Laravel Mix provides a clean, fluent API for defining basic webpack build steps for your applications. Mix supports several common CSS an

Jeffrey Way 5.2k Jan 6, 2023
HLedger is cross-platform accounting software for both power users and folks new to accounting

HLedger Plain Text Accounting on Nextcloud HLedger is cross-platform accounting software for both power users and folks new to accounting. It's good f

Ryan Boder 11 Jan 20, 2022