{"id":1948615,"date":"2020-12-11T17:34:42","date_gmt":"2020-12-11T22:34:42","guid":{"rendered":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/?post_type=tribe-knowledgebase&#038;p=1948615"},"modified":"2022-08-21T11:31:18","modified_gmt":"2022-08-21T15:31:18","slug":"integrating-buddypress-with-the-events-calendar","status":"publish","type":"post","link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/integrating-buddypress-with-the-events-calendar\/","title":{"rendered":"Integrating BuddyPress with The Events Calendar"},"content":{"rendered":"\n<p>BuddyPress adds social networking features to WordPress. When users register to the site, they have the ability to join and create groups where they can send messages, post status updates, and get notifications for other user activities.<\/p>\n\n\n\n<p>Pretty cool, right? But what does that have to do with calendars?<\/p>\n\n\n\n<p>While BuddyPress allows users to register as members of a site, it&#8217;s really more about curating member groups and creating connections between users than it is managing access to content like a membership plugin. Regardless, BuddyPress is a community-driven plugin that provides a way to give users access to certain groups and to make those groups public or private \u2014 all great stuff when it comes to an online calendar.<\/p>\n\n\n\n<p>For example, a group can be private but still displayed in the Group Directory.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/12\/buddypress-groups-directory.png\" alt=\"\" class=\"wp-image-1948616\"\/><\/figure>\n\n\n\n<p>So let&#8217;s look at various ways that BuddyPress and our products can work together.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-add-the-calendar-to-a-group-page\">Add the calendar to a group page<\/h2>\n\n\n\n<p>So, yes, BuddyPress does indeed restrict access to certain pages, or groups in this case. While that doesn&#8217;t do much in the way of restricting access to the full calendar, group pages support shortcodes. That means, with the help of <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/which-plugins-should-i-use-on-my-membership-site?\">shortcodes in Events Calendar Pro<\/a>, we can drop <code>[tribe_events]<\/code> in the group description and only the members of that group can see the calendar. That is, assuming the calendar isn&#8217;t linked up somewhere else.<\/p>\n\n\n\n<p>But we can do better. The <code>[tribe_events]<\/code> shortcode <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/embedding-calendar-views-with-the-tribe_events-shortcode\/\">can be used to show certain categories of events<\/a> which is a nice way to give group members access to specific events.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/12\/buddypress-calendar.png\" alt=\"\" class=\"wp-image-1948619\"\/><figcaption>Using the <code>tribe_events<\/code> shortcode is a nice workaround to give group members their own calendar view in the group description.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-allow-members-to-submit-events\">Allow members to submit events<\/h2>\n\n\n\n<p>Another thing you might want to consider is allowing members to submit and publish events to the calendar. That&#8217;s exactly what our Community Events add-on for The Events Calendar does: it adds a page on your site that contains a form that allows users to submit events to the calendar.<\/p>\n\n\n\n<p>But that form is on a single page, and that page can&#8217;t really be added to a group or restricted so that certain members can access it. That&#8217;s where the <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/community-events-shortcodes\/\">shortcodes included in Community Events<\/a> help. For example, we can drop <code>[tribe_community_events view=\"submission_form\"]<\/code> on the page and that gives members a way to add events to the calendar. That way, certain groups can have access to post events, and you still have the ability to moderate those submissions.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-limit-access-to-calendar-content\">Limit access to calendar content<\/h2>\n\n\n\n<p>We can sort of restrict access to the calendar, but it&#8217;s a little hacky and limited only to group descriptions. There&#8217;s also no way to restrict access to other content based on a user&#8217;s role or which groups they are in. There are BuddyPress extensions \u2014 like <a href=\"https:\/\/wordpress.org\/plugins\/bp-restrict\/\">Restrictions for BuddyPress <\/a>\u2014 available that can make that happen, but BuddyPress is unable to do it on its own.<\/p>\n\n\n\n<p>Another option is <a href=\"https:\/\/wordpress.org\/plugins\/buddypress-members-only\/\">The BuddyPress Members Only<\/a> plugin. It will actually restrict certain WordPress pages and posts so that only registered members can access and manage them. This includes events, tickets, venues and organizers, all of which are custom post types.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/12\/members-only-buddypress-restrictions-1024x684.png\" alt=\"\" class=\"wp-image-1948624\"\/><figcaption>BuddyPress Members Only can restrict access to pages, posts and custom post types \u2014 including The Events Calendar and Event Tickets \u2014 in the plugin settings.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-create-member-only-tickets\">Create member-only tickets<\/h2>\n\n\n\n<p>Let&#8217;s say you want to create tickets that only BuddyPress members can purchase \u2014 or even see. There are a couple ways to go do that.<\/p>\n\n\n\n<p>First, as we saw in the last section, we can use a BuddyPress extension to restrict access to tickets. That way, only members will be able to view and purchase them.<\/p>\n\n\n\n<p>Second, we can <a href=\"https:\/\/staging.theeventscalendar.com\/knowledgebase\/k\/embedding-tickets-and-rsvps\/\">embed tickets<\/a> on a group page or a member profile using a shortcode. Event Tickets Plus includes <code>[tribe_tickets]<\/code> and <code>[tribe_rsvp]<\/code> that displays tickets on any WordPress page or post \u2014 including BuddyPress pages \u2014 and can even embed specific tickets from specific events.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"\/knowledgebase\/wp-content\/uploads\/2020\/12\/ext-ticket-shortcode-default.png\" alt=\"\" class=\"wp-image-1948631\"\/><figcaption>The <code>[tribe_tickets]<\/code> shortcode can embed tickets on any WordPress page or post.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-pros-and-cons\">Pros and cons<\/h2>\n\n\n\n<div class=\"wp-block-columns plugin-benefits-wrapper has-background is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\" style=\"background-color:#f9f7f4\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading\" id=\"h-pros\">Pros<\/h4>\n\n\n\n<div class=\"wp-block-group plugin-benefits has-light-green-cyan-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Calendar and event shortcodes work on personal profile and group pages.<\/li><li>Groups can be private or hidden, allowing for certain events to be displayed to group members with a filtered <code>[tribe_events]<\/code> shortcode.<\/li><li>Supports integrations with other plugins that are capable of restricting content to users based on their BuddyPress user role or group membership.<\/li><\/ul>\n<\/div><\/div>\n\n\n\n<p><\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading\" id=\"h-cons\">Cons<\/h4>\n\n\n\n<div class=\"wp-block-group plugin-benefits has-pale-pink-background-color has-background\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<ul class=\"wp-block-list\"><li>Calendar shortcodes are not the same as restricting access.<\/li><li>Restricting access to content is limited to group pages.<\/li><li>Restricting access to the calendar, events, and event submissions requires an additional plugin.<\/li><li>There is no clear way to limit ticket purchases to certain members out of the box.<\/li><\/ul>\n<\/div><\/div>\n\n\n\n<p><\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wrapping-up\">Wrapping up<\/h2>\n\n\n\n<p>There are lots of ways to use BuddyPress with The Events Calendar and our entire suite of online calendar products. By allowing users to register for your site and form groups, we open up new possibilities for how they interact with the calendar, whether it&#8217;s displaying a filtered version of the calendar on a group page, creating events that only members can access, and lots of other things in between.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\"><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>BuddyPress adds social networking features to WordPress. When users register to the site, they have the ability to join and create groups where they can send messages, post status updates, and get notifications for other user activities. Pretty cool, right? But what does that have to do with calendars? While BuddyPress allows users to register&#8230;<\/p>\n","protected":false},"author":3,"featured_media":1955565,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"ep_exclude_from_search":false,"footnotes":""},"categories":[1],"tags":[],"stellar-product-taxonomy":[],"class_list":["post-1948615","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"acf":[],"taxonomy_info":{"category":[{"value":1,"label":"Uncategorized"}]},"featured_image_src_large":["https:\/\/images.theeventscalendar.com\/kb\/uploads\/2023\/02\/social-share-1024x538.png",1024,538,true],"author_info":{"display_name":"Jaime Marchwinski","author_link":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/author\/jaimetri-be\/"},"comment_info":0,"category_info":[{"term_id":1,"name":"Uncategorized","slug":"uncategorized","term_group":0,"term_taxonomy_id":1,"taxonomy":"category","description":"","parent":0,"count":139,"filter":"raw","term_order":"0","cat_ID":1,"category_count":139,"category_description":"","cat_name":"Uncategorized","category_nicename":"uncategorized","category_parent":0}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1948615","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=1948615"}],"version-history":[{"count":1,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1948615\/revisions"}],"predecessor-version":[{"id":1955979,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/1948615\/revisions\/1955979"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media\/1955565"}],"wp:attachment":[{"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=1948615"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=1948615"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=1948615"},{"taxonomy":"stellar-product-taxonomy","embeddable":true,"href":"https:\/\/staging.theeventscalendar.com\/knowledgebase\/wp-json\/wp\/v2\/stellar-product-taxonomy?post=1948615"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}