{"id":6492,"date":"2009-08-19T12:28:10","date_gmt":"2009-08-19T12:28:10","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/bp-groupblog\/"},"modified":"2026-03-30T17:50:36","modified_gmt":"2026-03-30T17:50:36","slug":"bp-groupblog","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/bp-groupblog\/","author":2881701,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.9.4","stable_tag":"1.9.4","tested":"7.0","requires":"3.6","requires_php":"","requires_plugins":null,"header_name":"BP Groupblog","header_author":"Rodney Blevins, Marius Ooms, Boone Gorges","header_description":"","assets_banners_color":"","last_updated":"2026-03-30 17:50:36","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/cgi-bin\/webscr?cmd=_s-xclick&hosted_button_id=7374704","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/bp-groupblog\/","header_author_uri":"","rating":3.3,"author_block_rating":0,"active_installs":50,"downloads":67261,"num_ratings":11,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0":{"tag":"1.0","author":"MariusOoms","date":"2009-08-28 23:47:30"},"1.2":{"tag":"1.2","author":"MariusOoms","date":"2009-10-11 10:17:01"},"1.2.2":{"tag":"1.2.2","author":"MariusOoms","date":"2009-10-12 09:02:05"},"1.3.1":{"tag":"1.3.1","author":"MariusOoms","date":"2009-12-18 00:15:25"},"1.4":{"tag":"1.4","author":"MariusOoms","date":"2010-02-27 22:47:22"},"1.4.1":{"tag":"1.4.1","author":"MariusOoms","date":"2010-02-28 10:19:27"},"1.4.2":{"tag":"1.4.2","author":"MariusOoms","date":"2010-02-28 12:42:58"},"1.4.3":{"tag":"1.4.3","author":"MariusOoms","date":"2010-02-28 23:48:46"},"1.4.4":{"tag":"1.4.4","author":"MariusOoms","date":"2010-04-25 15:47:25"},"1.4.5":{"tag":"1.4.5","author":"MariusOoms","date":"2010-09-06 14:50:37"},"1.4.6":{"tag":"1.4.6","author":"MariusOoms","date":"2010-09-07 12:04:22"},"1.4.7":{"tag":"1.4.7","author":"MariusOoms","date":"2010-09-08 10:09:06"},"1.4.9":{"tag":"1.4.9","author":"MariusOoms","date":"2010-11-03 13:54:44"},"1.5":{"tag":"1.5","author":"MariusOoms","date":"2010-11-03 22:25:30"},"1.6":{"tag":"1.6","author":"boonebgorges","date":"2011-09-21 14:27:13"},"1.7":{"tag":"1.7","author":"boonebgorges","date":"2011-12-01 20:33:38"},"1.7.1":{"tag":"1.7.1","author":"boonebgorges","date":"2012-02-08 21:02:16"},"1.8":{"tag":"1.8","author":"boonebgorges","date":"2012-07-09 20:44:58"},"1.8.1":{"tag":"1.8.1","author":"boonebgorges","date":"2013-05-02 18:45:19"},"1.8.10":{"tag":"1.8.10","author":"boonebgorges","date":"2015-02-22 03:07:26"},"1.8.11":{"tag":"1.8.11","author":"boonebgorges","date":"2015-03-17 15:27:39"},"1.8.12":{"tag":"1.8.12","author":"boonebgorges","date":"2016-07-28 16:11:34"},"1.8.13":{"tag":"1.8.13","author":"boonebgorges","date":"2017-05-03 18:21:09"},"1.8.2":{"tag":"1.8.2","author":"boonebgorges","date":"2013-05-09 19:41:05"},"1.8.3":{"tag":"1.8.3","author":"boonebgorges","date":"2013-05-17 01:16:37"},"1.8.4":{"tag":"1.8.4","author":"boonebgorges","date":"2013-06-20 13:19:33"},"1.8.5":{"tag":"1.8.5","author":"boonebgorges","date":"2013-08-10 18:27:08"},"1.8.6":{"tag":"1.8.6","author":"boonebgorges","date":"2014-05-02 14:50:17"},"1.8.7":{"tag":"1.8.7","author":"boonebgorges","date":"2014-07-14 13:25:33"},"1.8.8":{"tag":"1.8.8","author":"boonebgorges","date":"2014-07-23 17:05:23"},"1.8.9":{"tag":"1.8.9","author":"boonebgorges","date":"2014-11-03 18:13:20"},"1.9.0":{"tag":"1.9.0","author":"boonebgorges","date":"2018-04-25 01:46:16"},"1.9.1":{"tag":"1.9.1","author":"boonebgorges","date":"2018-12-15 10:33:01"},"1.9.2":{"tag":"1.9.2","author":"boonebgorges","date":"2023-03-27 14:19:49"},"1.9.3":{"tag":"1.9.3","author":"boonebgorges","date":"2023-07-30 16:14:49"},"1.9.4":{"tag":"1.9.4","author":"boonebgorges","date":"2026-03-30 17:50:36"}},"upgrade_notice":[],"ratings":{"1":"4","2":0,"3":"1","4":"1","5":"5"},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.2","1.2.2","1.3.1","1.4","1.4.1","1.4.2","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.9","1.5","1.6","1.7","1.7.1","1.8","1.8.1","1.8.10","1.8.11","1.8.12","1.8.13","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.8.7","1.8.8","1.8.9","1.9.0","1.9.1","1.9.2","1.9.3","1.9.4"],"block_files":[],"assets_screenshots":{"screenshot-2.png":{"filename":"screenshot-2.png","revision":3494852,"resolution":"2","location":"plugin"},"screenshot-1.png":{"filename":"screenshot-1.png","revision":3494852,"resolution":"1","location":"plugin"}},"screenshots":{"1":"Screenshot of the group blog creation stage.","2":"Screenshot of the group blog page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1668,204,529,353],"plugin_category":[44],"plugin_contributors":[77845,84674,84675],"plugin_business_model":[],"class_list":["post-6492","plugin","type-plugin","status-publish","hentry","plugin_tags-blogs","plugin_tags-buddypress","plugin_tags-content","plugin_tags-groups","plugin_category-discussion-and-community","plugin_contributors-boonebgorges","plugin_contributors-mariusooms","plugin_contributors-reblevins","plugin_committers-boonebgorges","plugin_committers-reblevins","plugin_support_reps-boonebgorges"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/bp-groupblog.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/bp-groupblog\/trunk\/screenshot-1.png?rev=3494852","caption":"Screenshot of the group blog creation stage."},{"src":"https:\/\/ps.w.org\/bp-groupblog\/trunk\/screenshot-2.png?rev=3494852","caption":"Screenshot of the group blog page."}],"raw_content":"<!--section=description-->\n<p>Requires BuddyPress 1.7+ and PHP 5.3+.<\/p>\n\n<p>The BuddyPress Groupblog plugin extends the group functionality by enabling each group to have a single blog associated with it. Group members are automatically added to the blog and will have blog roles as set by the groupblog admin settings.<\/p>\n\n<p><strong>Features:<\/strong><\/p>\n\n<ul>\n<li>P2 integration and frontend posting.<\/li>\n<li>Admin can set Template specific groupblogs.<\/li>\n<li>Allow group admins choose the desired template page themselves.<\/li>\n<li>Full blog theme integration. The included bp-groupblog theme mimics the group pages.<\/li>\n<li>Automated blog registration at group creation stage.<\/li>\n<li>Bypass default blog validation to allow dashes, underscores, numeral only and minimum character count.<\/li>\n<li>Blog privacy settings are initially inherited from group privacy settings.<\/li>\n<li>Group members are automatically added to the blog.<\/li>\n<li>Blog roles match group roles as set by the group admin.<\/li>\n<li>Solid error checking that the blog follows validation.<\/li>\n<li>Group admin tab to access the group-blog settings.<\/li>\n<li>Blog themes will have the ability to pull in group info and create a theme that could resemble the group exactly.<\/li>\n<li>Leaving the group will downgrade the member role to 'subscriber'.<\/li>\n<li>Allow the group admin to select one of his\/her existing blogs.<\/li>\n<li>A new ajax backend.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<p>1) unzip the bp-groupblog.zip file into <code>\/wp-contents\/plugins\/bp-groupblog<\/code><\/p>\n\n<p>2) move all the themes in <code>bp-groupblog\/themes\/<\/code> to your WP themes folder<\/p>\n\n<p>3) activate the plugin<\/p>\n\n<p>4) run through the admin setup options<\/p>\n\n<p>5) You are done!<\/p>\n\n<!--section=changelog-->\n<h4>1.9.4<\/h4>\n\n<ul>\n<li>Security release: Fixes a vulnerability where group-member role sync could be manipulated by a malicous user.<\/li>\n<\/ul>\n\n<h4>1.9.3<\/h4>\n\n<ul>\n<li>When a user leaves the group, remove them altogether from the group blog.<\/li>\n<li>Fix cache invalidation problem that caused a failed attempt to fetch a deleted group.<\/li>\n<li>Internal improvements to reduce direct database queries.<\/li>\n<li>Improved compatibility with PHP 8+.<\/li>\n<li>Improved compatibility with latest versions of WordPress.<\/li>\n<li>Improved translator comments.<\/li>\n<li>Improvements to inline documentation.<\/li>\n<\/ul>\n\n<h4>1.9.2<\/h4>\n\n<ul>\n<li>Use group avatar on Site Directory for groupblogs, rather than creator user avatar.<\/li>\n<li>Allow query args for page butons on blog tab to be filtered.<\/li>\n<\/ul>\n\n<h4>1.9.1<\/h4>\n\n<ul>\n<li>Fixed activity stream behavior for comments from non-logged-in comments.<\/li>\n<li>Fixed redirectblog behavior for hidden groups.<\/li>\n<li>Improved values passed to filters.<\/li>\n<li>PHP compatibility fixes.<\/li>\n<\/ul>\n\n<h4>1.9.0<\/h4>\n\n<ul>\n<li>Bumped PHP requirement to 5.3 and BuddyPress requirement to 1.7.<\/li>\n<li>Added support for comment activity recording.<\/li>\n<li>Fixed activity pagination on BP groupblog templates.<\/li>\n<\/ul>\n\n<h4>1.8.13<\/h4>\n\n<ul>\n<li>Bumped BuddyPress version requirement to 1.5<\/li>\n<li>Fix bugs related to groupblog role sync when joining\/leaving a group<\/li>\n<li>Improved compatibility with BP 2.6+<\/li>\n<\/ul>\n\n<h4>1.8.12<\/h4>\n\n<ul>\n<li>Improved accessibility for radio buttons<\/li>\n<li>Update group last_activity when groupblog post is created<\/li>\n<\/ul>\n\n<h4>1.8.11<\/h4>\n\n<ul>\n<li>Removed duplicate CSS selector in nav item<\/li>\n<li>Improved compatibility with BuddyPress 2.2.0<\/li>\n<\/ul>\n\n<h4>1.8.9<\/h4>\n\n<ul>\n<li>Allow some simple HTML in groupblog post titles in activity stream<\/li>\n<li>Add 'new_groupblog_post' type to activity filter dropdown<\/li>\n<\/ul>\n\n<h4>1.8.8<\/h4>\n\n<ul>\n<li>Better wording for activity filter dropdown<\/li>\n<\/ul>\n\n<h4>1.8.7<\/h4>\n\n<ul>\n<li>Prevent fatal error when blogs or activity component is disabled<\/li>\n<\/ul>\n\n<h4>1.8.6<\/h4>\n\n<ul>\n<li>Don't suggest blog domains longer than 63 characters, for better standards compliance<\/li>\n<\/ul>\n\n<h4>1.8.5<\/h4>\n\n<ul>\n<li>Delete groupblog activity item when the groupblog post is deleted<\/li>\n<li>Improved compatibility with PHP 5.4+<\/li>\n<\/ul>\n\n<h4>1.8.4<\/h4>\n\n<ul>\n<li>Fixes duplicate activity items on some setups<\/li>\n<li>Allows activity commenting based on global bp-disable-blogforum-comments setting<\/li>\n<li>Corrects activity link URL for groupblog activity items<\/li>\n<\/ul>\n\n<h4>1.8.3<\/h4>\n\n<ul>\n<li>Improved CSS for theme previews<\/li>\n<li>Improves performance when setting up group with JS disabled<\/li>\n<\/ul>\n\n<h4>1.8.2<\/h4>\n\n<ul>\n<li>Fixes problems with groupblog redirects<\/li>\n<li>Ensures that blog roles are repaired when users are banned or removed from a group<\/li>\n<\/ul>\n\n<h4>1.8.1<\/h4>\n\n<ul>\n<li>Security improvements<\/li>\n<li>Fixes some markup, deprecated function calls, and PHP variable reference bugs<\/li>\n<li>Fixes a number of bugs related to group member syncing and groupblog URLs on certain setups<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Fixes bug with blog autojoin<\/li>\n<li>l18n improvements<\/li>\n<li>Fixes switch_to_blog() bug<\/li>\n<li>Impovements to consistency of menu display<\/li>\n<\/ul>\n\n<h4>1.7.1<\/h4>\n\n<ul>\n<li>Refactors the process that adds members to group blog, to improve performance with large groups<\/li>\n<li>Fixes bug that caused blog post activity to be posted to the incorrect group on some setups<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Allows group admins to specify blog address and title at the time of creation<\/li>\n<li>Ensures that 'Enable group blog' checkbox is checked when returning from a failed blog creation<\/li>\n<li>Enables admins to 'uncouple' groups from blogs<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Compatibility with BuddyPress 1.5<\/li>\n<li>Cosmetic changes to the P2 BuddyPress to match the default BuddyPress<\/li>\n<li>Bug fixes related to blog autojoining<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Added support for subdomains, big thanks to Lemmy<\/li>\n<li>Added the ability to select layout for group admins<\/li>\n<li>Added check to make sure Layout options are only available to P2 BuddyPress theme<\/li>\n<li>Generated a new pot file<\/li>\n<\/ul>\n\n<h4>1.4.9<\/h4>\n\n<ul>\n<li>Generated a new pot file<\/li>\n<\/ul>\n\n<h4>1.4.8<\/h4>\n\n<ul>\n<li>Fixed readme<\/li>\n<li>Fixed template page creation on existent blogs with missing template pages or matching page titles.<\/li>\n<\/ul>\n\n<h4>1.4.7<\/h4>\n\n<ul>\n<li>Fixed Blog tab visibility based on redirect<\/li>\n<li>Added code to set front page under 'reading' admin setting when template layout is used.<\/li>\n<li>Changed the descriptions a bit under the settings menu.<\/li>\n<\/ul>\n\n<h4>1.4.6<\/h4>\n\n<ul>\n<li>Fixed users being added properly to the group blog.<\/li>\n<li>Fixed user rights applied to correct blog. The main blog is no longer affected.<\/li>\n<li>Fixed hidden and private groups to allow member joining.<\/li>\n<\/ul>\n\n<h4>1.4.5<\/h4>\n\n<ul>\n<li>Overhaul of the admin section<\/li>\n<li>Inclusion for P2 support<\/li>\n<li>Variety of new options, including template control<\/li>\n<li>Made compatible with 3.0 asaik<\/li>\n<\/ul>\n\n<h4>1.4.4<\/h4>\n\n<ul>\n<li>Sorry I neglected this plugin for a while and did not transcribe the changes.<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Restructed templating. To control the sidebar of your group, you will need to move the bp-groupblog\/groupblog folder to buddypress\/bp-themes\/bp-default\/.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Changed group template behavior and structure<\/li>\n<li>Added admin option to redirect to Blog Home within the Group<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Groupblog were not created for existing groups, now fixed<\/li>\n<li>Fixing the issue above also solved main blog posts within groups<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Made it compatible with WPMU 2.9 \/ BP 1.2<\/li>\n<li>Moved the moment when the blog is actually created to the group save step<\/li>\n<li>Updated the included theme to reflect the new BP Default theme<\/li>\n<li>Added new admin option, such validation overrides and redirect option<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Prevented group creator from demoting him\/herself to anything lower than administrator.<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Reworked all the code regarding adding users to the groupblog<\/li>\n<li>Users are now immediately added on group join (No more visiting the blog first!)<\/li>\n<li>Promoting, Demoting, Banning and Unbanning directly adjusts the member permissions<\/li>\n<li><strong>Big thanks goes out to Boone for developing much of the needed code!<\/strong><\/li>\n<\/ul>\n\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>Added missing registration hook, to ensure default settings are set.<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Removed unnecessary code, fixing mysql errors.<\/li>\n<li>Added Blog links menu.<\/li>\n<li>Changed the local to use 'groupblog' in group template files.<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Added a function to check BuddyPress is loaded first<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<p>Updated language files<\/p>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Added admin settings screen. You can now set the default groupblog theme, plus some bonus options.<\/li>\n<li>Changed some code here and there.<\/li>\n<li>Including a groupblog theme based on the bp-sn-parent theme. You can use this theme to make wpmu blogs resemble the BuddyPress group and display group related content inside the groupblog theme.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Added a message to inform the user that a groupblog is only chosen once.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Fixed a bug where the member roles were not being updated upon group creation.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Added file_exists to various files, so templates can be overridden in the theme. This also means we had to move the resource folders back into the theme folder.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Now using plugin-template.php, so there is no longer a need to move the groupblog folder to the active theme folder. Also updating the plugin through the wordpress plugin interface now works without problems.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Updated language files.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Improved jquery handeling on check boxes and radio buttons.<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>If a member leaves the group they will now be downgraded to 'subscriber'.<\/li>\n<li>Added template tags: groupblog_blog_id($group_id), get_groupblog_blog_id($group_id), groupblog_group_id($blog_id), get_groupblog_group_id($blog_id)<\/li>\n<li>Group admin now has the option of either creating a new blog or associating one of his blogs with the new group.<\/li>\n<li>Moved css, images and js folders to the theme folder.<\/li>\n<li>Added Jquery to give feedback to user input.<\/li>\n<li>Fixed a bug which would cause the group creator to be demoted to subscriber of his own blog if member blogging.<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>\n\n<h4>The changelog can also be found here:<\/h4>\n\n<p>https:\/\/plugins.trac.wordpress.org\/log\/bp-groupblog?verbose=on<\/p>","raw_excerpt":"BuddyPress Groupblog extends the group functionality by enabling the group to have a single blog associated with it.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/6492","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=6492"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/boonebgorges"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=6492"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=6492"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=6492"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=6492"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=6492"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=6492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}